我没有从Firebase数据库中获取值

时间:2018-12-14 10:04:02

标签: javascript firebase firebase-realtime-database

我正在尝试从数据库中检索数据,但是我的代码未返回所需的内容。它的结构是这样的:

enter image description here

这是我的代码:

firebase.database().ref('proiecte/').once('value').then(function(snapshot){
        console.log(snapshot.val().nume)
});

我希望控制台返回“ ROSE”,但返回“ undefined”。也许有帮助,所以我也提到了这一点:如果我运行console.log(snapshot.val()),它将返回以下内容:

{…}
1544696773350: Object { descriere: "Proiectul este dedicat tinerilor!", nume: "ROSE" }
<prototype>: Object { … }

因此,我可以确定数据库是正确构成的,只是我没有使用正确的格式来检索数据。谁能告诉我我哪里错了?

2 个答案:

答案 0 :(得分:0)

我设法解决了这个问题!

我所做的是将“ .once('value')。then(function(snapshot)”替换为“ .on('child_added',function(snapshot)”)。

答案 1 :(得分:0)

要解决此问题,请尝试以下操作:

firebase.database().ref('proiecte/').once('value').then(function(snapshot){
   snapshot.forEach(function(childSnapshot){
      let name = childSnapshot.val().nume;
      let desc = childSnapshot.val().descriere;
    });
});

这里的快照位于节点proiecte上,然后使用forEach循环并检索随机ID下的数据,因此您将能够检索nume和{{1 }}。