我正在开发一个 Flutter 应用程序,我想将条目保存到 Firebase Firestore 中的用户特定子集合下。数据似乎已成功添加到设备上,但从未出现在 Firestore 控制台中。相反,数据似乎仅缓存在设备本地,并且我不断在日志中看到以下消息:
[WatchStream]:(be43146) 流已关闭,状态:Status{code=NOT_FOUND,description=项目的数据库(默认)不存在
请访问 https://console.cloud.google.com/datastore/setup ?project= 添加 Cloud Datastore 或 Cloud Firestore 数据库。 ,原因=空}。
这是我尝试过的:
google-services.json
)。Firebase.initializeApp()
成功初始化。service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
这是我用来向 Firestore 添加数据的函数:
void addUrl() async {
if (urlController.text.isNotEmpty) {
final currentUser = auth.currentUser;
if (currentUser != null) {
await firestore
.collection('users')
.doc(currentUser.uid)
.collection('urls')
.add({
'url': urlController.text,
'timestamp': FieldValue.serverTimestamp(),
});
// Clear the text field after adding to Firestore
urlController.clear();
} else {
developer.log("User is not signed in");
}
}
}
尽管成功调用此函数并清除文本字段,但数据似乎仅缓存在设备本地。 Firestore 控制台仍为空。
错误消息显示:
项目的数据库(默认)不存在
因此,您需要单击错误消息中的链接(这确保它打开正确的项目),并确保其中有一个默认数据库(因此名为
(default)
)。如果没有,您需要创建一个错误才能消失。