如何从Cloud函数使用OrderByChild()对Datasnapshot进行排序

问题描述 投票:0回答:1

我正在使用云函数,并尝试使用lastTimeUsed内部子项上的值以升序排序的server节点的子项获取DataSnapshot。我正在使用orderByChild,但正在获取未按需要排序的dataSnapshot。

我阅读了信息here

enter image description here

这里是云功能的一部分

  var serversSorted = serversRef.orderByChild('{serverId}/lastTimeUsed').on("value", function(snapshot) {

    snapshot.forEach(function(data) {
      console.log(" Server is " + data.val().lastTimeUsed);
    });
  });

这些是来自Google Cloud的日志enter image description here

node.js firebase firebase-realtime-database google-cloud-functions
1个回答
0
投票

您使用的orderByChild('{serverId}/lastTimeUsed')语法不是Firebase可以识别的语法。因此,您实际上是在不存在的属性上进行排序,这说明结果按其键的顺序排列。

通过servers属性的值检索lastTimeUsed的所有子节点的属性方法是:

firebase.database.ref("servers").orderByChild('lastTimeUsed')
© www.soinside.com 2019 - 2024. All rights reserved.