从Firebase JavaScript获取最新价值

时间:2019-01-21 02:56:16

标签: javascript firebase firebase-realtime-database

我正在尝试从我的Firebase数据库构建一个表。但是,在最后两列中,它们显示[object][object]。这些数据来自传感器读数。 我只想在表中显示传感器通过Firebase读取的最新值。 这是我在firebase中的数据库结构:

enter image description here

这是我的html页面中的结果: enter image description here

这是我的JavaScript代码:

var config = {
    apiKey: "xxxxxxxxxx",
    authDomain: "xxxxxxxxx.firebaseio.com",
    databaseURL: "https://xxxxxx.firebaseio.com/",
    projectId: "xxxxxxx",
    storageBucket: "",
    messagingSenderId: "xxxxxx"
};
firebase.initializeApp(config);

//Add data to html table
var database = firebase.database().ref().child('locations');
database.on('value', function(snapshot){
    if(snapshot.exists()){
        var content = [];
        snapshot.forEach(function(data){
            var SerialNumber = data.val().SerialNumber;
            var Latitude= data.val().Latitude;
            var Longitude= data.val().Longitude;
            var FillLevel= data.val().FillLevel;
            var TrashDistance= data.val().TrashDistance;
            content += '<tr>';
            content += '<td>' + SerialNumber + '</td>'; //column1
            content += '<td>' + Latitude + '</td>';//column2
            content += '<td>' + Longitude + '</td>';//column3
            content += '<td>' + FillLevel + '</td>';//column4
            content += '<td>' + TrashDistance + '</td>';//column4
            content += '</tr>';
        });
        $('#ex-table').append(content);
    }
});

我真的很感谢任何形式的提示或解决方案。 昨天我整天都在尝试通过谷歌搜索仍找不到任何好的答案。

2 个答案:

答案 0 :(得分:0)

尝试JSON.stringify

(new Object).toString() => '[object object]'

答案 1 :(得分:0)

由于TrashDistance是一个列表,因此您需要遍历所有子项以找到最后一个值:

var TrashDistance;
data.val().TrashDistance.forEach(function(childSnapshot) {
  TrashDistance = childSnapshot.val();
})
console.log(TrashDistance);