【问题标题】:How to get all list from two different collection in cloud firestore如何从云 Firestore 中的两个不同集合中获取所有列表
【发布时间】:2023-03-25 09:03:01
【问题描述】:

我有一个集合名称为Purchase_Item,另一个集合名称为Sale_Item,我希望这两个集合完整列表在一个查询中。是否可以同时获取两个列表

提前致谢

【问题讨论】:

    标签: android firebase kotlin google-cloud-firestore


    【解决方案1】:

    我想在一个查询中列出这两个集合的完整列表

    不,实际上你不能那样做。 Firestore 中的查询很浅,这意味着您只能从运行查询的集合中获取文档。无法在单个查询中从两个顶级集合中获取文档。 Firestore 不支持一次性跨不同集合进行查询。

    如果您的要求是只查询一次数据库以获取两个集合的内容,那么您应该考虑通过创建一个包含两个集合中的项目的单个集合来更改数据库架构:

    Firestore-root
       |
       --- items (collection)
            |
            --- $itemId (document)
            |     |
            |     --- type: "purchase"
            |     |
            |     --- //Rest of the fields
            |
            --- $itemId (document)
                  |
                  --- type: "sale"
                  |
                  --- //Rest of the fields
    

    通过这种方式,您可以一次获得所有物品。但是,如果您需要区分它们,那么您应该使用查询。例如,如果您只想获取所有待售商品,则可以使用以下查询:

    FirebaseFirestore rootRef = FirebaseFirestore.getInstance()
    CollectionReference itemsRef = rootRef.collection("items")
    Query qyeryItemsForSale = itemsRef.whereEqualTo("type", "sale")
    

    【讨论】:

    • 嗨,R 苏曼!我可以帮助您了解其他信息吗?如果您认为我的回答对您有所帮助,请考虑通过单击左侧投票箭头下方的复选标记(✔️)来接受它。应将颜色更改为绿色。我真的很感激。谢谢!
    猜你喜欢
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2018-06-23
    • 2019-02-05
    • 2018-06-10
    相关资源
    最近更新 更多