Firebase JavaScript快照获取值

时间:2018-04-16 19:59:25

标签: javascript firebase firebase-realtime-database snapshot

当我从Firebase实时数据库中获取一个项目的快照时,如下所示,当我在console.log中注册snapshot.val和密钥时,我可以在console.log中看到所有单独的属性及其值。但我无法看到他们。例如,那里有一个lastvisited属性,但是snapshot.val()。lastvisited只返回undefined。我无法弄清楚获取那个属性的值的语法?

 pageCountersRef.orderByChild('location').equalTo(newcount.location).once('value', function (snapshot) {
            if (snapshot.val()) {
                console.log(snapshot.val());
                var arr = Object.keys(snapshot.val());
                var key = arr[0];
                console.log(key);

}

这是我在console.log中看到的内容。似乎我应该能够从中获取.lastreffer,.lastvisit,.location和.vists,但我尝试的所有内容都返回undefined,即使我可以在控制台中看到其中的值。

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

pageCountersRef.orderByChild('location').equalTo(newcount.location).once('value', function (snapshot) {
snapshot.forEach(function(child) {
            var lastvisit=child.val().lastvisit;
            var keys=child.key;
          });
       });

您需要使用forEach来迭代属性并获取其值。