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 系统日期对象的设置/警告