Flutter:如何在firebase中删除特定的数组数据

时间:2019-12-10 13:54:44

标签: firebase flutter google-cloud-firestore

我现在在Firebase中遇到问题。我尝试删除/删除特定数组数据的地方。最好的方法是什么?附言我只是Firebase / flutter的新手。

我的数据库结构:

enter image description here

我要在我的数据库结构中删除的数据(突出显示的一个):

enter image description here

3 个答案:

答案 0 :(得分:1)

更新: 尽管概念相同,但 API 已发生很大变化。

var collection = FirebaseFirestore.instance.collection('collection');
collection 
  .doc('document_id')
  .update(
  {
    'your_field': FieldValue.arrayRemove(elementsToDelete),
  }
);

答案 1 :(得分:0)

Firestore不提供直接删除索引项的直接方法。在这种情况下,您需要做的是读取文档,修改客户端内存中的数组,然后将字段的新内容更新回文档。如果要使更新原子化,可以在事务中完成此操作。

答案 2 :(得分:0)

首先创建一个空白列表,然后在列表中添加要删除的元素,然后使用以下方法更新

  

注意:对于这种方法,您需要要删除的元素的文档ID

var val=[];   //blank list for add elements which you want to delete
val.add('$addDeletedElements');
 Firestore.instance.collection("INTERESTED").document('documentID').updateData({

                                        "Interested Request":FieldValue.arrayRemove(val) })