FaunaDB:如何获取最近一小时创建的文档?

时间:2020-09-07 12:36:08

标签: faunadb

如何获取最近一个小时创建的所有文档?

我发现了Paginate()个参数 ts ,但是它只返回之前创建的文档,而不是之后创建的文档。

1 个答案:

答案 0 :(得分:1)

这很奇怪,这段代码:

Paginate(Documents(Collection("fweets")), {
  events: true,
  after: Time("2020-05-22T19:12:07.121247Z")
})

应在给定的时间戳记之后返回事件,您在尝试运行此类代码时遇到问题吗?

该结果中的事件将包括创建删除事件。另一种方法是在“ ts”上创建索引,但这也会为您提供在给定时间戳记之后更新的文档。

Paginate(
    Range(
      Match(Index("fweets_after_ts")),
      ToMicros(Time("2020-05-22T19:12:07.121247Z")),
      null
    )
  )

一种流行的方法是获取这些已创建/更新的文档的事件,然后通过在结果之上再次运行Pagiante并再次运行事件。您可以通过将其包装在地图中+对事件进行分页来实现:true。

Map(Paginate(
    Range(
      Match(Index("fweets_after_ts")),
      ToMicros(Time("2020-05-22T19:12:07.121247Z")),
      null
    )
  ),
  Lambda(['ts', 'ref'], Paginate(Var('ref'), {events: true, after: Time("2020-05-22T19:12:07.121247Z")}))
)