首页 > 解决方案 > Android中的Firebase“从”多个集合中选择

问题描述

从 Cloud Firestore 获取“依赖”数据是否有“快速”或“较少错误”的方式?

我有两个主要的收藏:“用户”和“冠军”。在“用户”的每个文档中都有一个名为“团队”的集合。

每个冠军赛都是由球队组成的,我将每支球队存储在一系列引用中,如下所示:

"championship": {
    "teams": [
        team_1_ref, team_2_ref, ...
    ]
}

通过这样做我可以得到一个冠军的所有球队,但我也想得到球队的用户所有者。

我知道我可以为团队创建一个名为 owner 的新引用“属性”,然后获取每个用户的“数据”,但是还有另一种方法可以做到这一点吗?

标签: javaandroidfirebasegoogle-cloud-firestore

解决方案


如果您询问是否有一种方法可以执行跨越来自多个集合的数据的“连接”类型查询,那是不可能的。如果您有一个包含数组的文档,并且想要获取该数组中引用的所有其他文档,则必须编写代码来单独获取每个文档。这对于 nosql 类型的数据库来说是正常的,在性能方面并没有你想象的那么糟糕。


推荐阅读