如何使用javascript从firebase获取特定子级的所有值?
这是我的数据结构 现在我想从这个数据库中获取所有ID 在MySQL中,我可以使用这个简单的查询轻松地获得它如何使用javascript从firebase获取特定子级的所有值?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,这是我的数据结构 现在我想从这个数据库中获取所有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
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;
})
});
但它需要另一个循环来分离所需的数据 如果您知道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);
}
});
我将阅读有关在firebase中构建数据的最佳实践。例如,您的数据的结构可以是这样的:/sensor_data/{id}。因此,如果查询sensor_数据,您会立即得到一个ID列表,这些ID是包含其他信息的对象。除了Luke对数据结构的评论外,代码看起来应该可以工作。运行此代码时出现了什么问题?