从Firebase检索数据未在控制台中正确显示

时间:2018-04-22 17:35:34

标签: javascript json firebase firebase-realtime-database

我可以使用以下代码在控制台中显示Firebase子级的正确数据:

var ref = firebase.database().ref('requests');
ref.on('value', gotData, errData);


function gotData(data) {
  var scores = data.val();
  console.log(scores);

}

在控制台中显示以下内容:

enter image description here

enter image description here

因此,当我尝试使用此代码段来检索电子邮件时:

function gotData(data) {
  var scores = data.val();
  console.log(scores);
  var keys = Object.keys(Email);
  console.log(keys);
  for (var i = 0; i < keys.length; i++) {
    var k = keys[i];
    var emails = email[k].email;
    console.log(emails);
  }
}

它显示以下错误:

enter image description here

但我还没有完全理解为什么当这与其他人解决方案非常相似时我会收到此错误。

当电子邮件密钥有实际值时,任何人都知道我为什么会收到此错误?

1 个答案:

答案 0 :(得分:1)

要获得email,只需执行此操作:

var ref = firebase.database().ref('requests');
ref.on('value', function(snapshot) {
snapshot.forEach(function(child) {
var datas = child.val();
var email=child.val().Email;

  });
});

假设你有这个数据库:

requests
   randomid 
       Email: email_here 

您需要在randomid内部进行迭代才能访问属性Email