如何使用角度5中的批处理写入从Cloud Firestore中删除多个文档

Qus*_*aad 3 firebase angularfire2 google-cloud-firestore angular5

如Firebase Cloud Firestore Batched中所述:

如果不需要读取操作集中的任何文档,则可以将多个set操作作为包含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  -->
Run Code Online (Sandbox Code Playgroud)

cot*_*riv 6

很简单,试试看!

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();
}
Run Code Online (Sandbox Code Playgroud)