firebase - 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);
});
当我运行上面带有第二个注释的单元格时,它可以工作!
我想运行一个复合查询,所以在终端中我按照谷歌提供的链接创建一个索引。
当我使用正确的字段手动创建索引并成功启用它时,我取消注释我的行并运行它,终端没有显示错误,但它也没有打印它应该提供的信息。
解决方案
我认为 question 与另一个 made it here相关,但是我建议您查看此文档,您可以在其中找到有关如何使用 Fluttler 进行查询的有用示例。
您可以通过这种方式改进您的查询:
QuerySnapshot snapshot = await sl.get<FirebaseAPI>().getFirestore()
.collection('usersRef')
.where("postsCount", isLessThan: 3)
.where("username", isEqualTo: "Parzival")
.getDocuments();
最后我建议你也检查一下这个文件。
推荐阅读
- flutter - 如何从 Firestore 中检索数据 - Flutter
- reactjs - 使用 React Hooks 重置输入元素的值
- django - 模板中的 Django 动态对象过滤问题
- java - 变量未初始化时会发生什么?
- reactjs - 如何使用 useContext 从 API 传递数据?
- java - CSV 文件无法更新
- kubernetes - DigitalOcean NFS 与 do-block 存储
- c# - 如何使用winforms从两侧切割按钮的宽度?
- javascript - 当你在 Node 中等待解决一个 Promise 时会发生什么
- applescript - AppleScriptingBridge for Music 应用程序不返回源