在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 -->
答案 0 :(得分:4)
这很容易,试试这个!
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();
}
答案 1 :(得分:0)
我必须在解决方案中添加firestore.batch()
我们的朋友让它工作。
这是我的第一项贡献。
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();
}