Javascript Can';t在Firebase cloud函数的数组中指定新值

Javascript Can';t在Firebase cloud函数的数组中指定新值,javascript,node.js,firebase,google-cloud-firestore,Javascript,Node.js,Firebase,Google Cloud Firestore,我的Firebase函数有问题,我从Firestore获取一个集合,并尝试在nodejs中本地更改其值(不将其上载回Firestore),但该值保持不变,try/catch没有返回任何错误。 这是我的密码: function setValueInArray(indexArray, array) { console.log("SetValueInArray"); for (var index of indexArray) { console.log(array[index].d

我的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**
   }
}

无法修改该方法返回的对象。必须将其指定给新对象,如下所示:

  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**
    }
  }