在多个参考ID

时间:2015-09-30 13:22:23

标签: firebase

我在Firebase中的数据结构如下所示。有些用户拥有他们有权访问的组列表。我想知道我如何制作Firebase查询只获取$ refIds等于用户的“groups”部分中的一次的组。这是一种多对五的关系。我只想列出用户所属的组列表。

是逐个获取它们的唯一选择还是有更好的解决方案?

users: {
    "$uid": {
        name: "John Doe",
        groups: {
            "$refId": true,
            "$refId": true
        }
    },
    "$uid": {
        name: "Jane Doe",
        groups: {
            "$refId": true
        }
    }
},
groups: {
    "$refId": {
        title: "Group 1"
    },
    "$refId": {
        title: "Group 2"
    }
}

1 个答案:

答案 0 :(得分:3)

正如您所建议的那样,从用户节点加载组并迭代它将得到每个组。

另一种选择是略有不同的群体结构

groups: {
    "$refId": {
        title: "Group 1"
        uid0: true
        uid1: true
    },
    "$refId": {
        title: "Group 2"
        uid1: true
        uid3: true
    }
}

然后,您可以在组节点中查询uid1:true,它只返回uid1所属的组;在这种情况下,第1组和第2组。