在多个参考 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 组。
我在 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 组。