在多个参考 ID 上查询 Firebase 数据

Query Firebase data on multiple reference IDs

我在 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"
    }
}

正如您所建议的,从用户节点加载组并对其进行迭代将获得每个组。

另一种选择是组结构略有不同

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

然后您可以查询 uid1 的组节点:true,这只会 return 组 uid1 是其中的一部分;在这种情况下为第 1 组和第 2 组。