【发布时间】:2020-06-16 10:52:47
【问题描述】:
【问题讨论】:
-
你能分享一些代码吗?像这样 admin.firestore.FieldValue.arrayRemove({ count:'3', item_id:'123' })
标签: firebase flutter google-cloud-firestore
【问题讨论】:
标签: firebase flutter google-cloud-firestore
您不能使用其索引删除数组项。这是有意的,因为可能有多个客户端添加/删除数组中的项目,这将更改索引。因此,您必须按值删除项目。更多详情here.
此外,如果您需要条件删除,例如“删除计数为 1 的所有项目”,那么您需要在客户端自己处理这种情况:获取数组,更新它,推回它。
【讨论】:
根据您的要求,如果您可以将数据结构更改为映射而不是数组,那么您可以在特定键处删除。
cart: {
0: {count: 3...},
1: {count: 1...}
}
然后在你的客户端上(详情here):
docRef.update.{['chat.' + index]: firebase.firestore.FieldValue.delete()};
【讨论】: