如何删除 firestore 文档中数组内的值

How to delete a value inside of an array in a firestore doc

一段时间以来一直试图解决这个问题,但无济于事。我的文件结构是这样的:

基本上,我正在尝试创建一个函数,它接受一个 meetingID 和 AtendeeID,然后查找具有相应 meetingID 的文档,并从文档中的与会者数组中删除指定的与会者。

我一直在尝试 FirebaseFirestore.FieldValue.arrayRemove,但不确定如何正确地使其适应我的情况。任何帮助将不胜感激

作为参考,这是我目前所在的位置:

const removeAttendee = async (meetingID, attendee) => {
  const meetingRef = doc(db, "meetings", meetingID);
  await updateDoc(meetingRef, {
    "attendees": FirebaseFirestore.FieldValue.arrayRemove({"attendees": attendee});
  })
}

错误:

./firebase.js
Error: 
  x Expected ',', got ';'
     ,----
 224 | "attendees": FirebaseFirestore.FieldValue.arrayRemove({"attendees": attendee});
     :                                                                               ^
     `----

Caused by:
    0: failed to process input file
    1: Syntax Error

代码很好,只是一个错字,如错误消息所示,您在更新对象中使用了 semi-colon,只需将其删除,代码即可正常运行!

await updateDoc(meetingRef, {
    "attendees": FirebaseFirestore.FieldValue.arrayRemove({"attendees": attendee}) // here, remove the `;` optionally you can add a coma instead 
  })

欢迎使用 SO,祝您编码愉快。