从随机生成的Firebase数据库子对象同步对象更改

时间:2019-10-26 16:54:53

标签: javascript firebase firebase-realtime-database

我从安装在Raspberry Pi中的DHT22传感器获取实时数据更新到firebase数据库。我的目标是使用接收到的数据实时更新网页。我似乎无法理解如何访问子项的值(其密钥是随机生成的)

db structure

      // Get a reference to the database service
  var database = firebase.database();

  // Get element from the DOM
  const tempElement = document.getElementById('temperature');
  const humElement = document.getElementById('humidity');

  // Create temperature database reference
  const tempRef = database.ref('DHT22').child();
// Sync objects changes
   tempRef.limitToLast(1).on('value', function(snapshot) {
      snapshot.forEach(function(childSnapshot) {
          var childData = childSnapshot.val();
          console.log("temperature: " + childData);
          tempElement.innerText = childData;
      });
  });

1 个答案:

答案 0 :(得分:0)

要访问密钥内的数据,请尝试以下操作:

  const tempRef = database.ref('DHT22');
 tempRef.limitToLast(1).on('value', function(snapshot) {
      snapshot.forEach(function(childSnapshot) {
          var childData = childSnapshot.val().Date;
          var timeData  = childSnapshot.val().Time;
          var temp      = childSnapshot.val().Temperature;
          tempElement.innerText = childData;
      });
  });

在节点DHT22处添加引用,然后在随机生成的密钥内使用forEach循环并检索数据。