简体   繁体   English

如何仅从数组中获取一个元素(firebase数据库,nodejs)

[英]How to get only one element from an array (firebase database, nodejs)

If I use limitToLast(1) , then I still get an object, with one key-value pair. 如果我使用limitToLast(1) ,那么我仍然会得到一个具有一对键值对的对象。 To get the value, I use this code: 为了获得价值,我使用以下代码:

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;
    }

    ...

});

It works, but I think I do it wrong. 它有效,但我认为我做错了。 But haven't found any better solution in the docs. 但是尚未在文档中找到任何更好的解决方案。 How should I load only one element? 如何只加载一个元素?

The database looks like this: 该数据库如下所示: 排列

When using Firebase queries to get children, use the "child_added" event: 使用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();
    ...
  });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM