具有嵌套键的Firebase orderByChild()

Dav*_*our 2 firebase

当子属性具有名称时,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为我做这个吗?

Fra*_*len 6

你在这里混淆子键和值.解决方案:

ref.child('groups').orderByChild('member404').equalTo(true)
Run Code Online (Sandbox Code Playgroud)