Javascript 在我的情况下,如何实现增量计数器?

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], } 现在,当任何学生给出关于任何老师的反馈时,

我正在开发一个移动应用程序,使用flatter从学生那里获取关于老师的反馈。 我自己有4个问题,每个问题有4个选项。我正在存储每个问题的每个选项的计票。 当任何老师在我们的应用程序中注册时,我们将所有计数设置为零

'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()
    方法不能作为数组中的项使用。

    但是如果有人同时尝试提供反馈,您可以将事务用于原子读写操作。但如果有人同时给出反馈,你可以使用事务进行原子读写操作。