[英]Why does Firestore sometimes not return anything, no error, nothing?
我正在做一个简单的查询,但 Firestore 不定期返回任何内容。 没有错误,没有结果,什么都没有。
Firestore.firestore().collection("groupChats")
.order(by: kUpdatedAt, descending: true)
.whereField("memberIds", arrayContains: currentUserId)
.limit(to: 15).getDocuments { [weak self] snapshot, error in
// nothing inside here ever hits
}
我不太确定如何继续或调试它,因为它似乎在 Firestore 内部。 用户具有互联网连接。 拉动刷新并再次调用该查询返回相同的看似无操作的结果。
知道这里发生了什么吗? 谢谢!
问题最终是缓存默认打开,我在设备上有一个来自开发和迁移的大量缓存。 作为Firestore()
初始化的一部分关闭离线缓存对此有很大帮助,并使我的应用程序再次可用。
你应该使用下面的代码
Firestore.firestore().collection("groupChats")
.order(by: kUpdatedAt, descending: true)
.whereField("memberIds", arrayContains: currentUserId)
.limit(to: 15).getDocuments { (snapshot, error) in
if error != nil{
print("Error getting documents: \(error)")
} else {
for document in (snapshot?.documents)! {
print("\(document.documentID) => \(document.data())")
}
}
我遇到了同样的问题,对我来说,查询字段是以保留字命名的。 val type:String=""
我将保留的内容更改为非保留的内容,查询就像魔术一样工作。
我的代码就像
val query=FirebaseFirestore.getInstance()
.collection("Organizations")
.orderBy("name")
.whereEqualTo("type",orgType)
所以我将其更改为更有意义的内容,如下所示。
val query=FirebaseFirestore.getInstance()
.collection("Organizations")
.orderBy("name")
.whereEqualTo("organizationtype",orgType)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.