我想返回一个包含给定子键的父键数组。这是我的数据库(成员用户 ID 以及他们所在的每个组的 ID):例如:如果我提供-Lu3Zs4FCW6F4IcMSU8K它应该返回两个父键,SnGXDFilErWEqFxPgWY5bIIAnPA3并且 t1S9N9owgKRGqBaNxs02rru8GpD3.如果我提供-Lu3gCYh5QUplnwLdOFA它应该只返回t1S9N9owgKRGqBaNxs02rru8GpD3子值(0 或 1)未知。这是我到目前为止所尝试的:var members = [];return await firebase.database().ref('members').orderByChild(groupId).once('value', snap => { snap.forEach(data => { members.push(data.key); });}).then(() => { return members;});但是无论我提供什么子键,此代码都会返回两个成员键。任何帮助,将不胜感激。
1 回答
大话西游666
TA贡献1817条经验 获得超14个赞
您当前的数据结构允许您有效地查找给定成员的组。但是,它不允许您有效地找到给定组的成员。
要允许后一种用例,请考虑添加一个与您现在拥有的几乎相反的额外数据结构:
"groups": {
"-Lu3Zs4FCW6F4IcMSU8K": {
"SnGXDFilErWEqFxPgWY5bIIAnPA3": true,
"t1S9N9owgKRGqBaNxs02rru8GpD3": true
},
"-Lu3gCYh5QUplnwLdOFA": {
"t1S9N9owgKRGqBaNxs02rru8GpD3": true
}
}
现在,您可以像查找成员的组一样查找组的成员。
添加回答
举报
0/150
提交
取消