如何在 RethinkDB 中查找比 X 旧或新的文档?

How to find documents older or newer than X in RethinkDB?

我正在尝试查询超过 900 秒的文档,但我被卡住了。这是我到目前为止尝试过的:

r.table("bar")
  .filter(r.expr(r.now() - 900).gt(r.row("updated_at")))

r.table("bar")
  .filter(r.row("updated_at")
    .during(r.time(1970, 1, 1, 'Z'), r.row("updated_at") - 900))

出于某种原因都抛出 TypeError: Illegal non-finite number 'NaN'.。以下没有,但是returns没有结果:

r.table("bar")
  .filter(900 < r.now() - r.row("updated_at"))

updated_at是二级索引,保存RqlDateTime个对象,RDB版本为2.3.0

您需要写 r.now().sub(900) 而不是 r.now() - 900,因为 JavaScript 不允许您覆盖二元运算符。