Ami*_*nha 21 javascript firebase google-cloud-firestore
var jobskill_ref = db.collection('job_skills').where('job_id','==',post.job_id);
jobskill_ref.delete();
Run Code Online (Sandbox Code Playgroud)
抛出错误
jobskill_ref.delete不是一个函数
Fra*_*len 34
只有在拥有文档后才能删除文档DocumentReference
.要得到它,你必须首先执行查询,然后循环QuerySnapshot
,最后DocumentSnapshot
根据它删除每个ref
.
var jobskill_query = db.collection('job_skills').where('job_id','==',post.job_id);
jobskill_query.get().then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
doc.ref.delete();
});
});
Run Code Online (Sandbox Code Playgroud)
Dee*_*ari 13
//The following code will find and delete the document from firestore
const doc = await this.noteRef.where('userId', '==', userId).get();
doc.forEach(element => {
element.ref.delete();
console.log(`deleted: ${element.id}`);
});
Run Code Online (Sandbox Code Playgroud)
我为此使用批处理写入。例如:
var jobskill_ref = db.collection('job_skills').where('job_id','==',post.job_id);
let batch = firestore.batch();
jobskill_ref
.get()
.then(snapshot => {
snapshot.docs.forEach(doc => {
batch.delete(doc.ref);
});
return batch.commit();
})
Run Code Online (Sandbox Code Playgroud)
ES6异步/等待:
var jobskill_ref = db.collection('job_skills').where('job_id','==',post.job_id);
let batch = firestore.batch();
jobskill_ref
.get()
.then(snapshot => {
snapshot.docs.forEach(doc => {
batch.delete(doc.ref);
});
return batch.commit();
})
Run Code Online (Sandbox Code Playgroud)
小智 5
.ref
弗兰克的回答解决了我的问题的关键部分是doc.ref.delete()
我最初只遇到了doc.delete()
“不是函数”错误。现在我的代码看起来像这样并且工作完美:
let fs = firebase.firestore();
let collectionRef = fs.collection(<your collection here>);
collectionRef.where("name", "==", name)
.get()
.then(querySnapshot => {
querySnapshot.forEach((doc) => {
doc.ref.delete().then(() => {
console.log("Document successfully deleted!");
}).catch(function(error) {
console.error("Error removing document: ", error);
});
});
})
.catch(function(error) {
console.log("Error getting documents: ", error);
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18977 次 |
最近记录: |