Google数据存储节点查询JS中的排序依据和分组依据

时间:2018-09-19 01:32:50

标签: node.js google-cloud-datastore

我正在尝试在NodeJS中编写数据存储查询。

我想按时间戳排序,但也只能按唯一的ID排序(不重复),并且只为每个唯一的ID检索最新的数据存储项。


例如

USER_ID - TIMESTAMP
10      - 1000
10      - 500
5       - 10
5       - 1500
5       - 50

我希望查询结果与

USER_ID - TIMESTAMP
10      - 1000
5       - 1500

我尝试过的事情:

datastore.createQuery('example')
  .groupBy('USER_ID')
  .order('USER_ID')
  .order('TIMESTAMP')

但是它返回由USER_ID而非TIMESTAMP排序的数据


以下是一个粘贴框,可帮助您回答以下问题:https://pastebin.com/MQCibmiw

2 个答案:

答案 0 :(得分:1)

您需要自己按时间戳进行排序。如前所述,以USER_ID排序是优先事项,这是必需的,因为您正在运行distinct on查询分组。

答案 1 :(得分:0)

正如吉姆·莫里森(Jim Morrison)所说,我认为这是不可能的。

我代表您提交了Feature Request。检查我的理解是否正确,并随时添加所需数量的详细信息。

与此同时,我认为您唯一的选择是“手动”订购TIMESTAMP。