【发布时间】:2019-05-11 13:20:13
【问题描述】:
我正在做一个简单的查询,并且 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 具有离线数据功能,这可能会导致您的问题。对于 Android 和 iOS,默认启用离线持久性。您是否使用
snapshot.metadata.isFromCache检查过数据的来源? -
这些功能是如何导致这个问题的?不完全确定这两件事有什么关系?正如我在帖子中所说,该块永远不会触发,所以我实际上无法查看
snapshot.metadata.isFromCache -
对。我仓促判断离线持久性。
-
你的代码注释说它从来没有命中,你怎么知道它从来没有命中?你记录一些东西吗?还是有断点?
-
是的,我在错误和非错误情况下都有日志和断点,没有任何打印或命中
标签: swift firebase google-cloud-firestore