Вы можете использовать пакетную запись следующим образом:
deletePosts() {
let batch = db.batch();
this.selectedPosts[0].forEach(element => {
batch.delete(db.collection("users").doc(user.email).collection("posts").doc(element.id));
});
batch.commit()
.then(() => {
console.log("Success!");
})
.catch(err => {
console.log(err);
});
}
Обратите внимание, что пакетная запись может содержать до 500 операций. Если вы предвидите, что вам может понадобиться удалить более 500, вы можете использовать Promise.all()
, как указано ниже:
deletePosts() {
const promises = [];
this.selectedPosts[0].forEach(element => {
promises.push(db.collection("users").doc(user.email).collection("posts").doc(element.id).delete());
});
Promise.all(promises);
.then(() => {
console.log("Success!");
})
.catch(err => {
console.log(err);
});
}