具有嵌套键的Firebase orderByChild()

时间:2015-10-29 02:47:41

标签: firebase

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为我做这个吗?

1 个答案:

答案 0 :(得分:5)

您在此处混合使用子键和值。解决方案:

ref.child('groups').orderByChild('member404').equalTo(true)