从angularfire2查询子集

时间:2016-09-21 19:14:41

标签: firebase firebase-realtime-database angularfire2

我需要从firebase列表中获取一个子集。假设我有两套:

set1 = {
    dog:true,
    cat:true,
    snake:true,
    bull:true
}

set2 = {
    dog:true,
    cat:true
}

我需要的是获取“在set1中,但不在set2中”,在这种情况下它会返回:

setresult = {
    snake:true,
    bull:true
}

我试图通过地图来实现这个目标:

this.setresult = this.af.database.list('/set2/').map((animals) => {
        return animals.map((animal) => {
            if (auth.uid == _user.$key || af.database.object('set2/' + animal.$key) == null) {}
            else {

                return af.database.object('set1/' + animal.$key);
            }
        })
    })

但我最终得到一个带空值的列表,我只需要结果集。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用combineLatest运算符组合一个observable,该对象会发出一个包含来自set1的{​​{1}}中的键/值的对象:

set2