首页 > 解决方案 > 如何从 Firestore Flutter 中删除子集合

问题描述

所以是使用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
  }

请问我在这里做错了什么?谢谢!!!

标签: firebasefluttergoogle-cloud-firestore

解决方案


按 UID 删除用户:

  void deleteUser(User user) async {
    await db.collection(COLLECTION_NAME)
            .document(user.uid)
            .delete()
            .then((_) {
                print('User deleted.');
            });
  }
  • 不要忘记import 'dart:async';在顶部添加

推荐阅读