【发布时间】:2020-06-06 19:06:55
【问题描述】:
我正在尝试使用以下代码监听文档更改:(Flutter)
Firestore.instance
.collection('myCollection')
.where("owners.${myUserID}", isEqualTo: true)
.orderBy("lastRef", descending: true)
.snapshots()
.listen((data) {
print("listening");
data.documentChanges.forEach((change) {
setState(() {
myList = data.documents;
});
});
});
此代码只工作一次,它将所有正确的文档添加到列表中,但是当文档更新时,它什么也不做......
我试过这段代码(没有 where 查询)
Firestore.instance
.collection('myCollection')
.orderBy("lastRef", descending: true)
.snapshots()
.listen((data) {
print("listening");
data.documentChanges.forEach((change) {
setState(() {
myList = data.documents;
});
});
});
即使在文档更新时也能完美运行
我以为我必须创建一个索引,但我没有在控制台中看到任何消息。 尝试手动创建一个。
Indexed fields: owners (array), lastRef (descending)
我做错了什么?
提前致谢!
【问题讨论】:
-
您能否更新您的问题以显示:1)
myUserID的值? (例如,通过在运行查询之前打印它),2)查询应该返回的文档的屏幕截图?
标签: firebase flutter dart google-cloud-firestore