从html表格中的Firebase检索同一级别节点中的数据

时间:2019-08-22 09:18:50

标签: javascript html firebase firebase-realtime-database

我正在尝试从Firebase实时数据库检索数据到html表。我的数据库结构是:

 agrismart-c7cb0
 .
 .
     ---  ...Sensor
          ----- .Humidity
                 . -Ll1yRHBqZUSQUpAANYl: "64"
                 . -Ll1ySD9oG5fiia15eL0: "65"
                 . -Ll1yTrQnmS0T1ImusKQ: "68"
                 . -Ll1yVjd3wZi48jp9SB1: "65"
          ----- .Moisture
                 .  -LlQz7gIlHBKWT66T2gS: "96"
                 .  -LlQz80sa4qoOZvOSKPn: "95"
                 .  -LlQz8IlfBnlIy0FQZoM: "99"
                 .  -LlQz83LXAwr3FWqvmbN: "91"
          ----- .Temperature
                 . -Ll1yS8KchaePZcNypBG: "32"
                 . -Ll1yTmE4GM950mbXN0m: "33"
                 . -Ll1yVSn8vZ82UaPraSw: "36"
                 . -Ll1yX42I9gAWVm2B5yA: "38"

由于“湿度”,“温度”和“湿度”节点在“传感器”节点中处于同一层次结构中,因此我想在html表中检索它们。

我已检索到湿度节点html表中的所有值。我已经使用了以下代码:

var dataHtml = '';
var tableBody = document.getElementById('customers');

var database = firebase.database();
var rootRef = database.ref();
var urlRef = rootRef.child("Sensor/Humidity");

urlRef.once("value", function(snapshot) {
snapshot.forEach(function(child) {

var Humid = child.val();

dataHtml += `<tr><td>${Humid}</td></tr>`;
tableBody.innerHTML = dataHtml;

});
});

但是现在我在检索表中的水分和温度节点值时遇到问题。我对他们两个都使用了相同的代码,并且在“湿度”列中显示了它们的值。

我的预期结果是:

         Humidity | Moisture   | Temperature
           64     |     96     |    32
           65     |     95     |    33
           68     |     99     |    36 
           65     |     91     |    38  

我已经检索到的内容

         Humidity | Moisture   | Temperature
           64     |            |  
           65     |            |  
           68     |            |  
           65     |            |  

现在,我想在同一张表中检索湿度和温度节点值。但是我面临的问题是它们在传感器节点中处于同一层次结构中。谁能告诉我这个问题的解决方案。我面对这个问题已经很长时间了。任何解决方案将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以获取Sensor节点的值,并以编程方式安排湿度,湿度和温度的值。

var urlRef = rootRef.child("Sensor"); urlRef.once('value',(snap)=>{ console.log(snap.val()); })