我有一个名为postsCollection
的收藏夹,里面有一些文档,我希望每个文档都将其删除。
收藏:
代码:
delete () {
fb.postsCollection.doc().delete().then(function() {
console.log("Document successfully deleted!");
}).catch(function(error) {
console.error("Error removing document: ", error);
});
}
我不知道如何定义doc()
...
答案 0 :(得分:1)
为了从集合中删除任何文档,您必须传递该文档的uid。
然后调用delete()
方法。
var postsRef = db.collection('posts');
var query = postsRef.where('content', '==', 'color..').get()
.then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.id, '=>', doc.data());
var deleteDoc = db.collection('posts').doc(doc.id).delete();
});
})
.catch(err => {
console.log('Error getting documents', err);
});
您可以检查在哪里条件唯一字段。否则,它将删除所有具有“内容” equaTo“颜色..”的文档。同样,您可以使用其他各种子句,例如>,<,> =等。
答案 1 :(得分:1)
要删除文档,您需要知道其ID。这意味着,如果您不知道集合中的ID,则必须先从集合中读取文档才能删除它们。
在看起来像这样的代码中
fb.postsCollection.get().then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
doc.ref.delete().then(function() {
console.log("Document successfully deleted!");
}).catch(function(error) {
console.error("Error removing document: ", error);
});
})
})
答案 2 :(得分:0)
只有拥有文档参考后,您才能删除该文档。要获取该信息,您必须首先执行查询,然后遍历查询快照,最后根据其引用删除每个文档快照。
var doucumentid = db.collection('posts').where('id','==',post.id);
doucumentid_query.get().then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
doc.ref.delete();
});
});