【发布时间】:2020-03-20 16:18:42
【问题描述】:
所以我是新手,使用 firestore 存储数据。目前我需要通过我的应用程序删除已经保存在 Firestore 中的数据。我试过了
Future<void> removeDocument(String id, String userId){
return ref.document(userId).collection(userId).document(id).delete().whenComplete((){
print("DELETE DONE::");
});
}
但它不起作用。 问题是我用 userId 来保存用户详细信息
现在我想删除数据,但即使打印消息显示在我的日志中,它也不会删除数据。 下面的方法是我如何将数据添加到 Firestore
Future<void> addDocument(Map data, String userId){
return ref.document(userId).collection(userId).add(data);
}
void setupLocatorWorkout() {
locatorWorkout.registerLazySingleton(() => Api('workout_goal'));
locatorWorkout.registerLazySingleton(() => CRUDRemoteDataSource());
}
Api(this.path){
print("$path");
ref = _db.collection(path); // this is the base collection
}
请问我在这里做错了什么? 谢谢!!!
【问题讨论】:
-
第一条评论,而不是答案:最好对集合使用硬编码名称,因为您无法使用客户端 SDK(例如 Flutter你正在使用的)。所以更惯用的是
ref.document(userId).collection("somethingThatDescribesTheThingsInThisCollection").document(id). -
DELETE DONE::是否打印?日志输出中是否有任何错误?你如何填充id?如果您对该 ID 使用硬编码值,它是否有效? -
我的日志中显示“DELETE DONE::”,id 来自火库“PnEMmhb8bM8QB24dbUVi”
标签: firebase flutter google-cloud-firestore