如何更新firestore中数组内的对象?

我想更新completedFirestore 中数组中对象的属性,但我不知道如何访问数组中的特定元素。图像将显示结构。

http://img.mukewang.com/6340e1ad0001d46c06580333.jpg

我已经走到了这一步,但不知道如何选择,例如数组中的第 1 项。我正在考虑使用它的 ID(它有一个 id 属性),但不知道如何到达那里。


const businessRef = db.collection('approvedBusinesses').doc(businessId)

      try {

        businessRef.update({

          [`bookings.${currentDate} ????? `]: true // what to add after currentDate?

        })

顺便说一句,这就是数组的创建方式(以及其他对象被推送到它的方式)


const bookingObj = {

      carro: 'PASSA_CARRO',

      completed: false,

      userId: userObject.uid,

    }


businessRef.update({

        [`bookings.${currentDate}`]: firebase.firestore.FieldValue.arrayUnion(bookingObj),

      })


精慕HU
浏览 138回答 1
1回答

天涯尽头无女友

Firestore 没有允许您通过索引更新数组中现有项目的操作。要更新数组中的现有项目,您需要:将整个文档读入您的应用程序。在应用程序代码中修改数组中的项目。将整个数组写回文档。我很确定以前有人问过这个问题,所以让我看看是否有一个例子的答案。另见:如何根据特定的键号删除数组元素?简单的任务列表排序 - 如何将其保存到 Firebase Firestore?如何仅更新数组中的单个值如何使用 Firestore 更新“对象数组”?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript