Firebase 使用查询类获取Firestore中的非空子集合

Firebase 使用查询类获取Firestore中的非空子集合,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,我正在尝试从Firebase Firestore的建筑物集合中获取非空房间(使用颤振框架): 但我没有收到任何收藏,即使在建筑物中几乎没有房间子收藏记录 添加屏幕截图以供参考- 在查询结束时追加.get()。您可以通过Flatter阅读有关使用firebase的最常见用例的更多信息。Firestore中的查询可以处理单个集合,也可以处理一组同名集合。无法查询您的建筑文档中是否存在房间子集合或其值 典型的解决方法是在每个建筑物文档中存储RoomCount字段,并在添加/删除房间时保持该字段的最新状

我正在尝试从Firebase Firestore的建筑物集合中获取非空房间(使用颤振框架):

但我没有收到任何收藏,即使在建筑物中几乎没有房间子收藏记录

添加屏幕截图以供参考-


在查询结束时追加.get()。您可以通过Flatter阅读有关使用firebase的最常见用例的更多信息。

Firestore中的查询可以处理单个集合,也可以处理一组同名集合。无法查询您的
建筑
文档中是否存在
房间
子集合或其值

典型的解决方法是在每个
建筑物
文档中存储
RoomCount
字段,并在添加/删除房间时保持该字段的最新状态。有了它,您可以查询:

FirebaseFirestore.instance
    .collection('Buildings')
    .where("isActive", isEqualTo: true)
    .where("RoomCount", isGreaterThan: 0);

您能否显示Firebase控制台的屏幕截图,其中一个是您希望通过此查询返回的文档?您是否可以显示实际读取再现问题的数据库的最小代码,例如记录查询结果(或缺少查询结果)?@FrankvanPuffelen-谢谢!新增截图
FirebaseFirestore.instance
    .collection('Buildings')
    .where("isActive", isEqualTo: true)
    .where("RoomCount", isGreaterThan: 0);