Javascript 在我的情况下,如何实现增量计数器?
我正在开发一个移动应用程序,使用flatter从学生那里获取关于老师的反馈。 我自己有4个问题,每个问题有4个选项。我正在存储每个问题的每个选项的计票。 当任何老师在我们的应用程序中注册时,我们将所有计数设置为零Javascript 在我的情况下,如何实现增量计数器?,javascript,firebase,google-cloud-firestore,google-cloud-functions,Javascript,Firebase,Google Cloud Firestore,Google Cloud Functions,我正在开发一个移动应用程序,使用flatter从学生那里获取关于老师的反馈。 我自己有4个问题,每个问题有4个选项。我正在存储每个问题的每个选项的计票。 当任何老师在我们的应用程序中注册时,我们将所有计数设置为零 'feedback':{ '1' : [0,0,0,0], '2' : [0,0,0,0], '3' : [0,0,0,0], '4' : [0,0,0,0], } 现在,当任何学生给出关于任何老师的反馈时,
'feedback':{
'1' : [0,0,0,0],
'2' : [0,0,0,0],
'3' : [0,0,0,0],
'4' : [0,0,0,0],
}
现在,当任何学生给出关于任何老师的反馈时,学生选择的选项数量将增加1。
(示例:与Instagram显示故事中任何问题的每个选项的投票方式相同。)
我正在使用云函数来增加值,但我被卡住了,我不知道如何处理我的情况
例如:学生X为问题选择的选项是-1:3、2:1、3:2、4:4
我知道必须增加哪些索引计数,但请指导我如何进行
exports.feedback = function.https.onCall((data,context) => {
const teacher = admin.firestore().collection('users').doc(data.tID);
const student = admin.firestore().collection('users').doc(data.sID);
return teacher.get().then(doc => {
const batch = admin.firestore().batch();
//help me on this line
batch.set(teacher,{feedback : '1':[,,admin.firestore.FieldValue.increment(1),,]}).
});
});
如果要修改文档中数组的值,必须:
您现在使用的
FieldValue.increment()
方法不能作为数组中的项使用。如果要修改文档中数组的值,您必须:
您现在使用的
FieldValue.increment()
方法不能作为数组中的项使用。但是如果有人同时尝试提供反馈,您可以将事务用于原子读写操作。但如果有人同时给出反馈,你可以使用事务进行原子读写操作。