我是 firebase 的新手并且已经阅读了文档,但似乎无法找到一个获取所有包含填充用户数据的梯子的列表。我真的不想在他们所属的每个阶梯中复制用户数据。
这是我的数据结构:
{
"ladders" : [ {
"description" : "Real Real Tennis",
"name" : "Ping Pong",
"players" : {
"simplelogin:5" : true
}
}, {
"description" : "Real Tennis",
"name" : "Mario Tennis",
"players" : {
"simplelogin:5" : true
}
} ],
"users" : {
"simplelogin:5" : {
"email" : "bob@bob.com",
"md5hash" : "1e737a7b6e1f0afb1d6fef521097400b",
"name" : "Bob",
"username" : "bob1"
}
}
}
这是我最好的尝试,但看起来梯子查找完成并在用户查找完成之前返回,因此它返回时玩家为空。
laddersRef.on('value', function(laddersSnapShot){
var ladders = []
laddersSnapShot.forEach(function(ladderData) {
var ladder = ladderData.val();
ladder.players = [];
ladder.id = ladderData.key();
laddersRef.child(ladder.id).child('players').on('value', function(snap){
snap.forEach(function(player){
usersRef.child(player.key()).on('value', function(snap1){
ladder.players.push(snap1.val())
})
})
})
ladders.push(ladder)
});
});