如firebase cloud firestore批量写入中引用:
如果您不需要阅读操作集中的任何文档,您可以 可以作为单个批处理执行多个写入操作,其中包含 set()、update() 或delete() 操作的任意组合。一批 写入以原子方式完成,并且可以写入多个文档。
如何使用 Angular 5 删除集合中的所有文档?
// Get a new write batch
var batch = db.batch();
// Delete the city 'LA'
var laRef = db.collection("cities").doc("LA");
batch.delete(laRef);
<!-- Delete All Tasks -->
<button
mat-button mat-icon-button
(click)="tasksService.deleteAllTasks(openSnackBar())"
matTooltip="Delete All Tasks"
class="toolbar-btn"
[disabled]="(tasksService.tasks$ | async)?.length == 0">
<i class="fa fa-trash"></i>
</button>
<!-- Delete All Tasks -->
就这么简单,快来试试吧!
private async deleteCollection(path: string) {
const batch = db.batch();
const qs = await db.collection(path).ref.get();
qs.forEach(doc => batch.delete(doc.ref));
return batch.commit();
}
我必须将 firestore.batch() 添加到解决方案中 我们的 coturiv 朋友让它发挥作用。 这是我的第一个贡献。
private async deleteCollection(path: string) {
const batch = db.firestore.batch();
const qs = await db.collection(path).ref.get();
qs.forEach(doc => batch.delete(doc.ref));
return batch.commit();
}