首页 > 解决方案 > Firebase Cloud Firestore 综合索引 NO 查询结果

问题描述

我正在使用 Firebase 在 Flutter 上构建一个应用程序,我已经成功添加了 Firestore,现在一切正常。

getUsers() async {
    final QuerySnapshot snapshot = await usersRef
        .where("postsCount", isLessThan: 3)
//        .where("username", isEqualTo: "Parzival")
        .getDocuments();

    snapshot.documents.forEach((DocumentSnapshot doc) {
      print(doc.data);
      print(doc.documentID);
      print(doc.exists);
    });

当我运行上面带有第二个注释的单元格时,它可以工作!

我想运行一个复合查询,所以在终端中我按照谷歌提供的链接创建一个索引。

当我使用正确的字段手动创建索引并成功启用它时,我取消注释我的行并运行它,终端没有显示错误,但它也没有打印它应该提供的信息。

在此处输入图像描述

标签: firebasefluttergoogle-cloud-firestore

解决方案


我认为 question 与另一个 made it here相关,但是我建议您查看此文档,您可以在其中找到有关如何使用 Fluttler 进行查询的有用示例。

您可以通过这种方式改进您的查询:

QuerySnapshot snapshot = await sl.get<FirebaseAPI>().getFirestore()
        .collection('usersRef')
        .where("postsCount", isLessThan: 3)
        .where("username", isEqualTo: "Parzival")
        .getDocuments();

最后我建议你也检查一下这个文件


推荐阅读