Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于子值对Firebase数据进行排序_Javascript_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 基于子值对Firebase数据进行排序

Javascript 基于子值对Firebase数据进行排序,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我试图根据每个post子级上的时间戳对Firebase查询进行排序。相反,我只是获取存储在数据库中的未排序数据。我正在使用firebase npm软件包 数据结构如下所示: posts -Lsx-tFbXe83gANXP3TD -timestamp: 1466171493193 -Lsx-sWzXe83gANWNM3R -timestamp: 1466171493111 以下是我使用以下方法编写的javascript代码: 提前谢谢 您返回的快照包含有关

我试图根据每个post子级上的时间戳对Firebase查询进行排序。相反,我只是获取存储在数据库中的未排序数据。我正在使用firebase npm软件包

数据结构如下所示:

posts
   -Lsx-tFbXe83gANXP3TD
       -timestamp: 1466171493193
   -Lsx-sWzXe83gANWNM3R
       -timestamp: 1466171493111
以下是我使用以下方法编写的javascript代码:


提前谢谢

您返回的
快照
包含有关与您的查询匹配的子节点的三条信息:

  • 钥匙
  • 价值
  • 它们之间的相对位置
  • 只要调用
    snapshot.val()
    所有有关排序的信息都将丢失,因为JSON对象只能包含键和值

    要维持顺序,您需要将信息转换为数组:

    var values = [];
    snapshot.forEach(function(child) {
      values.push(child.val());
    })
    
    var values = [];
    snapshot.forEach(function(child) {
      values.push(child.val());
    })