最好的方法是从firebase的另一个列表中获取数据

时间:2017-06-09 13:39:10

标签: javascript angular firebase angularfire2

我有这个数据库:

enter image description here

最好的方法是循环所有球队并获得球员名字?

例如在html:

团队:超级明星 玩家:亚历克斯,大卫

我很难循环使用firebase observable

1 个答案:

答案 0 :(得分:1)

将数据重组为更平坦。为了支持多个团队中的玩家,您可以创建一个引用PlayersTeams的节点。

{
    Players: {
        -Ksegwegwegwg: {
            name: "alex"
        },
        -K43yhwhyehwh: {
            name: "david"
        }
    },
    Team: {
        -Knwgjkwn4333: {
            name: "superstars"
        }
    },
    InTeam: {
        -Kwegbwegwwegw: {
            player: "alex",
            team: "superstars"
        },
        -Kwegbwegwwegw: {
            player: "david",
            team: "superstars"
        }
    }
}

您可以在玩家加入团队的任何时候添加InTeam

然后你可以这样查询:

const queryObservable = db.list('/InTeam', {
    query: {
        orderByChild: 'team',
        equalTo: 'superstars' 
    }
});

// Result = [{player: "alex", team: "superstars"}, {player: "david", team: "superstars"}];