Flutter 文档 Firestore 未删除 [关闭]

Ala*_*yah 5 firebase flutter google-cloud-firestore

我正在尝试使用此功能删除 firestore 中的文档,

[更新] 文档中的以下代码

class DatabaseService {
  final String uid;
  final String taskId;
  final String boardId;

  DatabaseService({this.uid, this.taskId, this.boardId});
    
///delete task
      Future<void> deleteTask() async {
        return await FirebaseFirestore.instance
            .collection('user')
            .doc(uid)
            .collection('tasks')
            .doc(taskId)
            .delete()
            .then((value) => print('task $taskId deleted'))
            .catchError((error) => print("Failed to delete task: $error"));
      }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 我输入了错误的集合名称,据说是任务。我已经用正确的名字更新了。

触发按钮:

IconButton(
              icon: Icon(
                Icons.delete_outline,
                color: kColorRed,
              ),
              onPressed: () async {
                print('task delete pressed');
                print(widget.userId);
                print(widget.taskId);
                await DatabaseService(uid: widget.userId, taskId: widget.taskId)
                    .deleteTask();
                Navigator.pop(context);
              }),
Run Code Online (Sandbox Code Playgroud)

输出:

flutter: task delete pressed
flutter: VWtHv8LPE3brezl9a5zmHlwYM5h2
flutter: [#9bb27]
flutter: VWtHv8LPE3brezl9a5zmHlwYM5h2 task [#9bb27] deleted
Run Code Online (Sandbox Code Playgroud)

文档内:

在此输入图像描述

它与打印结果一起返回。但是,当我检查 Firestore 时,该文档仍然存在。我做对了吗?

小智 0

我遇到了同样的问题。

我已经通过检查 userid 是否通过来解决这个问题。我的意思是获取 userid 的值