我有一个火库数据库。我的项目插件:
云
_
firestore:^0.7.4 firebase
_
存储:^1.0.1
这有一个具有多个文档的集合"messages“。我需要删除消息集合中的所有文档。但是这段代码失败了:
Firestore.instance.collection('messages').delete();
但没有定义delete
正确的语法是什么?
发布于 2018-12-05 01:10:43
啊。第一个答案是
几乎
正确。这个问题与dart中的map方法以及它如何与Futures一起工作有关。无论如何,尝试使用for循环,如下所示,您应该会做得很好:
firestore.collection('messages').getDocuments().then((snapshot) {
for (DocumentSnapshot ds in snapshot.documents){
ds.reference.delete();
});
});
发布于 2018-11-01 03:28:34
如Firestore中所述
文档
,目前还没有自动删除集合的操作。
您需要获取所有文档,并循环遍历它们以删除每个文档。
firestore.collection('messages').getDocuments().then((snapshot) {
for (DocumentSnapshot doc in snapshot.documents) {
doc.reference.delete();
});
});
请注意,这只会删除
集合。如果在此路径中有子集,它们将保留在Firestore中。文档还有一个云函数,还集成了一个可调用的函数,该函数使用Firebase命令行接口来帮助处理嵌套删除。
发布于 2020-02-03 16:19:32
逐个删除firestore集合中的所有文档:
db.collection("users").document(userID).collection("cart")
.get().addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
db.collection("users").document(userID).
collection("cart").document(document.getId()).delete();
}
} else {
}
}
});
https://stackoverflow.com/questions/53089517
复制相似问题