gpt4 book ai didi

android - 为什么 Firestore DocumentSnapshot.exist() 总是 `false` addOnCompleteListener?

转载 作者:行者123 更新时间:2023-11-29 18:30:43 26 4
gpt4 key购买 nike

我正在创建基本应用程序以从 Firestore 检索用户数据,如果用户是新用户(在 Firestore 中,即文档不应该存在),我将添加一个欢迎说明(一些默认数据到数据库)。

private fun createUserIfNeeded(user: FirebaseUser) {
fireBaseFireStore.collection("Users").document(user.uid).get().addOnCompleteListener {
if (it.isSuccessful && !it.result!!.exists()) {
val defaultData =
hashMapOf("head" to "Hello", "body" to "Welcome to NoteIt...")

fireBaseFireStore
.collection("Users")
.document(user.uid)
.collection("Notes")
.document("Default")
.set(defaultData)
}
}
}

当我运行上面的代码时,即使文档存在,document.result.exist 始终是 false

我尝试使用 addOnSuccessListener 也得到同样的结果。

我做错了什么吗?

我提到了很多与此相关的问题,但解决方案很有帮助。

P.S:Firebase 及其 API 的新手

更新:如果我正在尝试检查任何内部集合和文档,那么结果工作正常

private fun createUserIfNeeded(user: FirebaseUser) {
val notesRef = fireBaseFireStore
.collection("Users")
.document(user.uid)
.collection("Notes")

notesRef
.get()
.addOnCompleteListener {
if (it.result == null || it.result!!.documents.size == 0) {
val defaultData = hashMapOf("head" to "Hello", "body" to "Welcome to NoteIt...")
notesRef
.document("Default")
.set(defaultData)
}
}
}

我无法理解问题所在。

最佳答案

试试这个,卸载应用程序并重新安装,有时在开发期间需要刷新数据库的 Firestore 本地缓存版本

开发人员可能会在 Firestore 控制台中错误地查看错误的数据库,假设您的应用程序有一个开发人员版本和一个生产版本,喝一点咖啡就可能会看到错误的东西

关于android - 为什么 Firestore DocumentSnapshot.exist() 总是 `false` addOnCompleteListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56448001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com