Firebase orderByChild()在子属性具有名称时运行良好,因此使用如下数据:
groups
<groupID>
groupStatus: "Active"
很容易获得组的groupID与&#34; Active&#34;状态:
var ref = "http://myFirebase.firebaseio.com/groups";
ref.orderByChild("groupStatus").equalTo("Active").on("child_added", function(snapshot) {
console.log(snapshot.key());
});
但我有以下形式的群组和这些群组的成员的火力群数据:
groups
group123
member404: true
member503: true
...
group124
member503: true
member221: true
...
我需要生成所有成员ID的列表,这些成员是&#34;朋友&#34;特定成员,被定义为至少与他们共同的一个群体。对于成员503,您会认为这将是orderByChild()机会。但由于memberID是嵌套在组下的键,语法是什么?
类似的东西:
ref.orderByChild(???).equalTo("member503")
当然,我可以在本地将所有组的所有成员都放到一个数组中,但是肯定有办法让firebase为我做这个吗?
答案 0 :(得分:5)
您在此处混合使用子键和值。解决方案:
ref.child('groups').orderByChild('member404').equalTo(true)