如何通过索引删除特定数组

时间:2020-05-12 11:54:09

标签: firebase flutter dart google-cloud-firestore

我在从Firebase数据库中删除数组时遇到问题。这是我的数据库的样子

Location
   0 "Maldives"
   1 "Maldives"
   2 "India"

有时数据库包含相同的位置。当用户尝试删除位置时,它会删除所有匹配的匹配位置。

这是我使用的代码:

                                          onPressed: () {
                                            Firestore.instance
                                                .collection('schedules')
                                                .document(data.documentID)
                                                .updateData({
                                              "location":
                                                  FieldValue.arrayRemove(
                                                      ["Maldives"]),

                                            });
                                          },
                                          child: Text(
                                            'Remove',
                                            style: TextStyle(
                                                color: Color(0xFF34495e)),
                                          )),

如果我使用该代码,则数据库的外观如下:

Location
   0 "India"

我如何解决这个问题。如果我们可以通过数组的索引删除它,将更加容易。我如何删除?

1 个答案:

答案 0 :(得分:2)

这正是documentationFieldValue.arrayRemove方法的说明。

如果用例是要保留“马尔代夫”值之一,则应考虑以不同的方式存储它们(也许在子集合中)或在客户端进行处理。

相关问题