Firebase JavaScript 快照获取值

Posted

技术标签:

【中文标题】Firebase JavaScript 快照获取值【英文标题】:Firebase JavaScript snapshot get values 【发布时间】:2018-09-26 15:57:08 【问题描述】:

当我从下面的 Firebase 实时数据库中获取一个项目的快照时,当我 console.log 快照.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 和 .vist,但是我尝试的所有内容都返回未定义,即使我可以在控制台中看到其中的值。

enter image description here

【问题讨论】:

【参考方案1】:

尝试以下方法:

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

您需要使用forEach 才能在属性内部进行迭代并获取它们的值。

【讨论】:

以上是关于Firebase JavaScript 快照获取值的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Android 上 Unity 中的 Firebase 快照获取“空”值

查询未知父firebase的子快照

如何将firebase快照值从一个函数提取到另一个函数变量?

当数据存在时,Swift firebase 快照返回 null

如何获取 Firebase 快照长度?

如何快速从 firebase 获取用户的特定数据?