当没有添加搜索条件时,可以真实的监听更改,但添加搜索条件后,无法继续监视更改。为什么?
原始码
db.collection("Users").document("pZOLUl9tyVdOKzyeUScIZ8BysPm1")
.collection("RechargeCoin")
.order(by: "date", descending: true)
.addSnapshotListener { (snapshot, error) in
添加搜索条件后的代码
db.collection("Users").document("pZOLUl9tyVdOKzyeUScIZ8BysPm1")
.collection("RechargeCoin")
.whereField("review2", isEqualTo: "未確認")
.order(by: "date", descending: true)
.addSnapshotListener { (snapshot, error) in
修改的代码无法侦听更改
1条答案
按热度按时间kqqjbcuj1#
Firestore上的每个查询都需要一个与您排序/过滤的字段完全匹配的索引。如果不存在这样的索引,查询将无法执行,SDK将抛出一个错误。
您所描述的行为通常意味着缺少必要的索引。您需要捕获并记录来自Firestore API调用的任何错误,然后检查URL的错误消息。此URL将直接带您进入Firestore控制台的页面,在该页面中,您可以通过单击创建必要的索引(所有字段都将预先填充在URL中)。