当我从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,即使我可以在控制台中看到其中的值。
答案 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
来迭代属性并获取其值。