当子属性具有名称时,Firebase orderByChild()运行良好,因此使用如下数据:
groups
<groupID>
groupStatus: "Active"
Run Code Online (Sandbox Code Playgroud)
很容易得到具有"活动"状态的组的groupID:
var ref = "http://myFirebase.firebaseio.com/groups";
ref.orderByChild("groupStatus").equalTo("Active").on("child_added", function(snapshot) {
console.log(snapshot.key());
});
Run Code Online (Sandbox Code Playgroud)
但是我有以下形式的群组和这些群组的成员的firebase数据:
groups
group123
member404: true
member503: true
...
group124
member503: true
member221: true
...
Run Code Online (Sandbox Code Playgroud)
我需要生成一个所有成员ID的列表,这些成员ID是特定成员的"朋友",被定义为至少与他们共同的一个组.对于成员503,您会认为这将是orderByChild()机会.但由于memberID是嵌套在组下的键,语法是什么?
就像是:
ref.orderByChild(???).equalTo("member503")
Run Code Online (Sandbox Code Playgroud)
当然,我可以让所有组的所有成员在本地获得一个数组,但是肯定有办法让firebase为我做这个吗?
你在这里混淆子键和值.解决方案:
ref.child('groups').orderByChild('member404').equalTo(true)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6907 次 |
| 最近记录: |