我在从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"
我如何解决这个问题。如果我们可以通过数组的索引删除它,将更加容易。我如何删除?
答案 0 :(得分:2)
这正是documentation对FieldValue.arrayRemove
方法的说明。
如果用例是要保留“马尔代夫”值之一,则应考虑以不同的方式存储它们(也许在子集合中)或在客户端进行处理。