如果我使用limitToLast(1)
,那么我仍然会得到一个具有一个键值对的对象。要获得该值,我使用此代码:
db.ref('/myarray').limitToLast(1).once('value').then(function(snapshot) {
var result = snapshot.val();
var lastElem;
var lastKey;
for(var i in result) {
lastElem= result[i];
lastKey = i;
break;
}
...
});
它有效,但我认为我做错了。但是,在文档中没有找到更好的解决方案。我该如何只加载一个元素?
答案 0 :(得分:3)
使用Firebase查询获取子项时,请使用"child_added"
事件:
db.ref("/myarray")
.orderByKey() // order by chlidren's keys
.limitToLast(1) // only get the last child
.once("child_added", function(snapshot) {
var key = snapshot.key;
var val = snapshot.val();
...
});