Flutter Firestore [cloud_firestore/not-found] 找不到某些请求的文档

Posted

技术标签:

【中文标题】Flutter Firestore [cloud_firestore/not-found] 找不到某些请求的文档【英文标题】:Flutter Firestore [cloud_firestore/not-found] Some requested document was not found 【发布时间】:2021-03-18 18:22:51 【问题描述】:

在我的颤振应用程序中,我需要更新我当前的用户数据,但我遇到了这个问题 [cloud_firestore/not-found] 找不到一些请求的文档。我该如何解决这个问题

这里是我的 updateData() 代码

  void updateData() 
    final FirebaseAuth auth = FirebaseAuth.instance;
    final User user = auth.currentUser;
    final uid = user.uid;


    FirebaseFirestore.instance.
    collection('users').
    doc(uid).
    update("height": heightTextEditingController.text).
    catchError((e) 
      print(e);
    );
  

【问题讨论】:

文档不存在,添加你的数据库截图并打印(uid)看看你得到了什么 我添加截图 print(uid) 给你什么? I/flutter (16766): KR8ScjsDfeZsFvjyK5qWkXSDsmI2 这个但是我没有这样的 uid 这就是为什么它不起作用 【参考方案1】:

截取您的 Firestore 的屏幕截图,以便我们查看您的 Firestore 目录名称。可能是拼写错误。

编辑 1:

发现错误。它应该是 FirebaseFirestore.instance.collection('users') 而不是 ('user')。见以下代码

FirebaseFirestore.instance.
collection('users').
doc(uid).
update("height": heightTextEditingController.text).
catchError((e) 
  print(e);
);

【讨论】:

我发截图 @alperborabay 编辑了我的答案。请重试 对不起,我的错误已经像我在这里写的时候打错了:D @alperborabay 你能打印当前用户的 uid 吗?如果不能,则表示您未连接到 firebase/firestore。检查您的 pubspec 以及 cloud_firestore 依赖项 我想我无法打印我当前的用户,因为当我使用 tihs print(uid) 时,flutter 给了我这个 I/flutter (16766):KR8ScjsDfeZsFvjyK5qWkXSDsmI2 而我没有这样的当前用户【参考方案2】:

将数据保存到数据库时需要添加uid作为文档ID:

  var firestoreInstance = FirebaseFirestore.instance;
  var firebaseUser =  FirebaseAuth.instance.currentUser;

  firestoreInstance.collection("users").doc(firebaseUser.uid).set(
  
    "name" : "john",
    "email" : "example@example.com",
    "height": 180
    "weight":70
  ).then((_)
    print("success!");
  );

doc() 内部传递uid,然后使用set() 将字段添加到文档中。

【讨论】:

以上是关于Flutter Firestore [cloud_firestore/not-found] 找不到某些请求的文档的主要内容,如果未能解决你的问题,请参考以下文章

Cloud Firestore 连接我的 Flutter Windows 应用

Flutter:[cloud_firestore/unknown] NoSuchMethodError:null 上的无效成员:'includeMetadataChanges'(Flutter Web

Flutter:cloud_firestore 的构建错误:高于版本“0.7.4”

Flutter cloud_firestore 系统日期对象的设置/警告

Flutter Firestore [cloud_firestore/not-found] 找不到某些请求的文档

在 Flutter 中使用 Cloud Firestore 创建无限列表