RethinkDB - 如何对聚合时间间隔进行分组

RethinkDB - How to group on aggregated time intervals

我想对动态时间间隔进行分组和平均。类似问题:Grouping into interval of 5 minutes within a time range

现在,我正在使用查询:

r.db('windMachine').table('stats3')
  .between(r.time(2015, 5, 7, 18, 0, 0, "Z"), r.time(2015, 5, 7, 24, 0, 0, "Z"), {index: "date"})
  .group([r.row("date").hours(), r.row("date").minutes()])
  .avg("TMP0")

哪个returns:

[
  {
    "group": [
      21,
      2
    ],
    "reduction": 22.802153846153846
  },
  {
    "group": [
      21,
      3
    ],
    "reduction": 22.6628
  },
  {
    "group": [
      21,
      4
    ],
    "reduction": 22.384324324324318
  }
]

我想进一步分组,分为 5 分钟(或其他)间隔。执行此操作的最佳方法是什么?

我实际上遇到了类似的问题,这是我所做的:

.group(r.row('date').toEpochTime().sub(r.row('date').toEpochTime().mod(<INTERVAL_IN_SECONDS>))

这样做的目的是按<INTERVAL_IN_SECONDS>

对时间进行分组

我不知道这是否是完成任务的最佳方法,但它对我有用。