【问题标题】:Can't assign new value in array in Firebase cloud function无法在 Firebase 云函数中的数组中分配新值
【发布时间】:2020-05-12 06:25:45
【问题描述】:

我的 Firebase 函数出现问题,我从 Firestore 获取集合,并尝试在 nodejs 中本地更改其值(不将其上传回 Firestore),但值保持不变,try/catch 不是返回任何错误。 这是我的代码:

function setValueInArray(indexArray, array) {
console.log("SetValueInArray");
   for (var index of indexArray) {
       console.log(array[index].data().value); // **Logs false**
       console.log("_________");
       array[index].data().value = true;
       console.log(array[index].data().value); // **Logs false**
   }
}

【问题讨论】:

    标签: javascript node.js firebase google-cloud-firestore


    【解决方案1】:

    您不能修改data() 方法返回的对象。您必须将它分配给一个新的对象,如下所示:

      function setValueInArray(indexArray, array) {
        console.log('SetValueInArray');
        for (var index of indexArray) {
          var newObj = array[index].data();
          console.log(newObj.value); // **Logs false**
          newObj.value = true;
          console.log(newObj.value); // **Logs true**
        }
      }
    

    【讨论】:

      猜你喜欢
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      相关资源
      最近更新 更多