Node.js 如何使用云函数中的OrderByChild()对Datasnapshot进行排序

Node.js 如何使用云函数中的OrderByChild()对Datasnapshot进行排序,node.js,firebase,firebase-realtime-database,google-cloud-functions,Node.js,Firebase,Firebase Realtime Database,Google Cloud Functions,我正在使用云函数,并试图获得一个带有服务器节点的子节点的DataSnapshot,该节点按lastTimeUsed内部子节点上的值升序排序。我使用的是orderByChild,但我得到的是一个没有按需要排序的dataSnapshot 我读了信息 这是云函数的一部分 var serversSorted = serversRef.orderByChild('{serverId}/lastTimeUsed').on("value", function(snapshot) { snaps

我正在使用云函数,并试图获得一个带有服务器节点的子节点的DataSnapshot,该节点按lastTimeUsed内部子节点上的值升序排序。我使用的是orderByChild,但我得到的是一个没有按需要排序的dataSnapshot

我读了信息

这是云函数的一部分

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

    snapshot.forEach(function(data) {
      console.log(" Server is " + data.val().lastTimeUsed);
    });
  });
这些是来自谷歌云的日志

您使用的
orderByChild({serverId}/lastTimeUsed')
语法不是Firebase可以识别的。因此,实际上是对一个不存在的属性进行排序,这解释了结果是按键的顺序来的

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

firebase.database.ref("servers").orderByChild('lastTimeUsed')

优先级在现代Firebase实时数据库使用中不再是一个有用的概念,只是为了向后兼容而保留。除此之外,我不清楚您正在尝试做什么,以及(重要的)在实施时遇到了什么问题。我建议在你的问题中加入。嗨,我刚刚编辑了我的问题,我将非常感谢你的帮助。谢谢