从Firestore数据库中删除一个数组元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Firestore数据库中删除一个数组元素相关的知识,希望对你有一定的参考价值。

我试图从Firestore文档中的一个数组中删除一个元素。但是,到目前为止,我尝试的方法都没有成功。我最后的尝试是这样的。

  const ref = firestore().collection('events').doc(extraid);
  ref.get().then(document => 
    const thing = document.data();
    const rejected = thing.rejected || [];
    const interested = thing.interested || [];

    const fieldIndex = interested.findIndex(obj => obj.interestedId === sender);
    const fieldToDelete = interested[fieldIndex];
    firebase.firestore.FieldValue(fieldToDelete);
    firebase.firestore.FieldValue.delete(fieldToDelete);
  );

我如何从Firestore文档中的一个数组中删除一个元素?

答案

你将不得不 更新() 修改后的数组字段回到文档中,这是由 文件. 呼叫 FieldValue.delete() 还不够--这只是创建了一个FieldValue标记,你可以将其传递给 update() 来进行改变。 它将看起来像这样。

ref.update('interested', FieldValue.delete(fieldToDelete))

以上是关于从Firestore数据库中删除一个数组元素的主要内容,如果未能解决你的问题,请参考以下文章

如何从firestore中的数组中删除对象

从 Firestore 数组中按键/值删除项目

Firestore删除一个数组内的索引

如何使用flutter从firestore中删除/更新数组对象中的指定索引

Firebase firestore 从字段数组中删除项目

Firebase Firestore:从文档数组中追加/删除项目