小编Rah*_*hul的帖子

比较MarkLogic中同一文档的两个元素

我有一个MarkLogic 8数据库,其中有两个日期时间字段的文档:

  1. created-on
  2. active-since

我试图写一个XQuery搜索所有的文件对于其值active-since 小于价值created-on

目前我正在使用以下FLWOR表达:

    for $entity in fn:collection("entities")

    let $id := fn:data($entity//id)
    let $created-on := fn:data($entity//created-on)
    let $active-since := fn:data($entity//active-since)

    where $active-since < $created-on

    return 
      (
        $id,
        $created-on,
        $active-since
      )
Run Code Online (Sandbox Code Playgroud)

上述查询执行时间过长,并且随着文档数量的增加,此查询的执行时间也将增加.

此外,我有 element-range-index两个上面提到的dateTime字段,但它们没有在这里使用.所述CTS-元件查询函数只有一个元素与一组原子值进行比较.在我的情况下,我试图比较同一文件的两个元素.

我认为应该有一个更好和优化的解决方案来解决这个问题.

如果有任何搜索功能或任何其他适合此方案的方法,请通知我.

xquery marklogic marklogic-8

4
推荐指数
1
解决办法
459
查看次数

标签 统计

marklogic ×1

marklogic-8 ×1

xquery ×1