【发布时间】:2019-01-27 21:30:30
【问题描述】:
我正在 Firestore 中试验数组和地图/对象。我想知道如何从数组中删除特定的地图。 我尝试过这样的事情:
await Firestore.instance.collection('users').document(interestedInID).get().then((val){
return val.data['usersInterested'].removeWhere((item)=>
item['userID'] == userID
);
}).catchError((e){
print(e);
});
但我在终端收到此错误:
Unsupported operation: Cannot remove from a fixed-length list
我真的不明白这是什么意思。我做了一些谷歌搜索,固定长度的列表正是它所说的。它是一个具有固定长度且不能更改的列表,但必须明确声明固定长度列表。另一方面,可增长列表不需要声明。 我还没有在我的 firestore 中声明定长列表,但它一直说我不能从中删除元素。但是,我可以添加/推送元素并使用以下方法删除它们:
'key': FieldValue.arrayRemove([value])
但我不知道如何根据特定条件删除元素。在本例中为用户 ID。
有什么建议吗? 非常感谢!
【问题讨论】:
-
你找到解决这个问题的方法了吗?
-
嗨@Andrey。很久以前,但我发布了对我有用的解决方案,但它显示我删除了它。我不知道为什么,所以我取消了删除该帖子。你能在下面看到它吗?
标签: firebase dart flutter google-cloud-firestore