【问题标题】:cts query to filter documents from a particular collection for the last 24 hourscts 查询以过滤过去 24 小时内特定集合中的文档
【发布时间】:2022-01-14 16:00:38
【问题描述】:

我一直在尝试根据字段 report_time 从特定集合中查找文档。

我一直在尝试以下查询。但是,它不起作用。

cts.andQuery(cts.collectionQuery('myCollection'),cts.jsonPropertyRangeQuery("report_time", ">", new Date(Date.now() - 86400 * 1000).toISOString()))

【问题讨论】:

  • 你能详细说明一下吗?当你说“它不起作用”时,你的意思是它没有过滤并返回预期的结果,你得到一个错误(如果是这样,错误是什么),或者它什么也没返回?你发布了一个cts.andQuery(),我们可以假设它被应用于cts.search()吗?
  • @Mads Hansen 我试图将其应用于数据中心映射步骤的 sourceQuery。我希望映射步骤仅在特定集合的过去 24 小时内的文档上运行。

标签: javascript marklogic


【解决方案1】:

从那个sn-p,需要调整的一件事是查询条件需要在cts.andQuery()参数的数组中:

cts.andQuery([
  cts.collectionQuery('myCollection'),
  cts.jsonPropertyRangeQuery("report_time", ">", new Date(Date.now() - 86400 * 1000).toISOString())
])

【讨论】:

    【解决方案2】:

    您不必计算,您可以使用“年龄查询”。见页尾https://docs.marklogic.com/guide/search-dev/rangequery

    【讨论】:

      猜你喜欢
      • 2018-06-22
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 2011-03-15
      • 2018-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多