如何使用Javascript从Firebase检索数据?

时间:2018-01-08 14:42:38

标签: javascript firebase firebase-realtime-database

enter image description here

我试图访问" id"并将其存储在变量中。到目前为止,我的代码是:

var ref = firebase.database().ref("users");

ref.on("value", function(snapshot) {
  snapshot.forEach(function(childSnapshot) {
    var childData = childSnapshot.val();
    console.log(childData);
  });
});

我从上面得到的是:

enter image description here

有了这个我可以访问对象本身,但是如何访问该属性" id"?我正在阅读official documentation,但我无法弄清楚。

2 个答案:

答案 0 :(得分:4)

这样做:

 var ref = firebase.database().ref("users");

ref.on("value", function(snapshot) {
 snapshot.forEach(function(childSnapshot) {
  var childData = childSnapshot.val();
  var id=childData.id;
  console.log(childData);
 });
});

在上面,该位置位于users,然后您使用on()方法读取数据,并使用forEach循环,在pushid内迭代并获取值。

要单独访问每个人,请执行此操作var ids=childData.id;或/和var names=childData.name;

最好使用once(),因为它只读取一次数据。

答案 1 :(得分:1)

您需要获取父节点(L2L6vBsd45DFGfh)的密钥才能访问id

在firebase中使用push()方法时,它会自动为您的记录生成唯一键。 使用set()update()方法创建自己的自定义密钥。

var ref = firebase.database().ref("users");
ref.on("value", function(snapshot) {
    var childData = snapshot.val();
    var key = Object.keys(childData)[0];    //this will return 1st key.         
    console.log(childData[key].id);
});
  

您将使用for-loopforEach获取所有keys