如何使用JavaScript从Firebase获取特定孩子的所有值?

时间:2018-07-17 14:46:13

标签: javascript firebase firebase-realtime-database

这是我的数据结构

image

现在,我想从该数据库中获取所有ID。

在MySQL中,我可以使用此简单查询轻松获得它

SELECT id
From sensor_data

但是在Firebase中,我不知道该怎么做。

我尝试过

firebase.database().ref('/sensor_data').once('value', function(
    snap.forEach(function(obj){
        var date = obj.val().date;
        var time = obj.val().time;
        var id = obj.val().id;
        var ph = obj.val().ph;
        var temp = obj.val().temp;
   })
});

但是它需要另一个循环来分离所需的数据。

1 个答案:

答案 0 :(得分:0)

如果您知道ID,则可以像这样直接查询它:

firebase.database().ref(`/sensor_data/{$id}`).once('value').then(snapshot => console.log(snapshot.val(), snapshot.val().id));

如果不是这种情况,您确实需要获取集合,然后像完成操作一样进行迭代,或者像这样尝试:

firebase.database().ref('/sensor_data').once('value').then(data => {
  for(let record of data) {
    console.log(record.id);
  }
});