Firebase:如何在JavaScript中读取其他孩子的孩子?

时间:2019-09-17 14:59:41

标签: javascript firebase firebase-realtime-database

我知道那里的问题令人困惑,但是在这里我想以解释的方式从firebase读取什么:

enter image description here

从图片中可以明显看出,我想检索所有圈出的个孩子的“ route_name”,并在javascript中进行登录。 为此,我尝试这样:

var buses_Ref = firebase.database().ref('online_drivers/');
buses_Ref.on('child_added', function (data) {
     console.log(data.val().route_name);
});

但是它显示未定义

enter image description here

如果我尝试管理日志数据,它将显示此内容,我认为这是两个孩子 Jigjiga Siinaay

console.log(data);

enter image description here

1 个答案:

答案 0 :(得分:1)

您在online_drivers下有两个嵌套的动态子节点。通过使用child_added Firebase已经可以解决其中的一个问题,但是您需要在回调代码中处理另一个问题。

最简单的方法是使用DataSnapshot.forEach()

buses_Ref.on('child_added', function (snapshot) {
  snapshot.forEach(function(data) {
    console.log(data.val().route_name);
  })
});