我有这个模式:
我想要的是:具有特定 clientUid 或 clientUid 的数字不为null,我编写了此代码,但不起作用:
void getNumbers({int haveClient}) {
Firestore.instance
.collection('Numbers')
.where('numbers.clientUid', isNull: false)
.snapshots()
.listen((event) {
setState(() {
_numbers = event.documents
.firstWhere(
(element) => element.documentID == 'NMafOXZZ7QWLOvegpiCdSpyhTYG3')
.data;
});
});
}
任何帮助,谢谢
答案 0 :(得分:2)
我写了一篇有关在Flutter中保存和检索嵌套对象的文章,您可以找到here (Handling Nested Objects in Firestore with Flutter)。
总而言之,您无法基于嵌套字段进行查询。取而代之的是,您必须下载该集合中的所有文档,然后在客户端上循环浏览它们,或者可以restructure your database来使clientID位于顶级数组中。