在子字段Flutter上进行Firestore查询

时间:2020-08-01 09:54:52

标签: firebase flutter google-cloud-firestore

我有这个模式:

enter image description here

我想要的是:具有特定 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;
      });
    });
  }

任何帮助,谢谢

1 个答案:

答案 0 :(得分:2)

我写了一篇有关在Flutter中保存和检索嵌套对象的文章,您可以找到here (Handling Nested Objects in Firestore with Flutter)

总而言之,您无法基于嵌套字段进行查询。取而代之的是,您必须下载该集合中的所有文档,然后在客户端上循环浏览它们,或者可以restructure your database来使clientID位于顶级数组中。