Javascript,从Firebase子节点获取autoId

时间:2019-02-03 19:34:58

标签: javascript firebase firebase-realtime-database

我正在尝试查找在保存期间由Firebase自动生成的autoID。

我的firebase结构是:

-flights
    -userID
        -autoID-1
            -info1
            -info2
            -info3
        -autoID-2
            -info4
            -info5
            -info6
        -autoID-3
            -info7
            -info8
            -info9
        -autoID-4
            -info10
            -info11
            -info12

我的目标是在HTML表中获取所有用户ID信息。

我认为我需要将Firebase中的信息读取到javascript数组中,然后为我的JS数组中的每个新条目添加一个新的html表行。

我想要的HTML结构是:

line 1 : INFO 1 / INFO 2 / INFO 3
line 2 : INFO 4 / INFO 5 / INFO 6 
line 3 : INFO 7 / INFO 8 / INFO 9
line 4 : INFO 10 / INFO 11 / INFO 12 
...

但是我完全不知道当我使用autoID时如何使用javascript从firebase中获取信息...

现在我尝试下面的JS代码:

return firebase.database().ref('/flights/' + userId).once('value').then(function(snapshot) {
            var flightKey = (snapshot.val() && snapshot.val().autoID) || 'NULL';
            alert(flightKey);
        });

但是什么也没发生....

我该如何解决?

谢谢!

1 个答案:

答案 0 :(得分:1)

由于一个用户有多个排期,因此您需要遍历具有Snapshot.forEach()的排期。像这样:

firebase.database().ref('/flights/' + userId).once('value').then(function(snapshot) {
  snapshot.forEach(function(flightSnapshot) {
    var flightKey = flightSnapshot.key;
    alert(flightKey);
  });
});