如何删除集合中的所有文档? (颤振/火力收集)

时间:2021-02-03 11:20:17

标签: firebase flutter google-cloud-firestore

我有一个功能是将excel文件上传到firebase cloud firestore集合。在插入数据之前,我应该先清除 cloud firestore 集合中的所有文档。有没有什么函数或者方法可以一次性清除所有的集合或者文档?

void _importData() async {
    for (var table in data.tables.keys) {
      for (var row in data.tables[table].rows) {
        print("$row");

        await databaseReference.collection("vehicles").add({
          //row[i] = the column sequence in the excel
          'Car_Make': row[3],
          'Company': row[4],
          'Holder_Type': row[2],
          'Holder_Name': row[1],
          'Vehicle_No': row[0],
        }).then((value) => print("Upload Complete"));
      }
    }
}

1 个答案:

答案 0 :(得分:1)

Firestore 不支持删除整个集合。您必须获取所有文档并分别删除每个文档。

您可以尝试以下操作:

FirebaseFirestore.instance.collection('vehicles').snapshots().forEach((querySnapshot) {
  for (QueryDocumentSnapshot docSnapshot in querySnapshot.docs) {
    docSnapshot.reference.delete();
  }
});