我有一个功能是将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"));
}
}
}
答案 0 :(得分:1)
Firestore 不支持删除整个集合。您必须获取所有文档并分别删除每个文档。
您可以尝试以下操作:
FirebaseFirestore.instance.collection('vehicles').snapshots().forEach((querySnapshot) {
for (QueryDocumentSnapshot docSnapshot in querySnapshot.docs) {
docSnapshot.reference.delete();
}
});