cts:values 函数未返回路径引用的所有值
cts:values function not returning all the values for path reference
假设我在 MarkLogic 中有如下三个文档,
<employee>
<name>a</name>
<age>10</age>
</employee>
<employee>
<name>b</name>
<age>10</age>
</employee>
<employee>
<name>c</name>
<age>10</age>
</employee>
文档 uris - 分别为 /employee/a、/employee/b、/employee/c。
我已经为 "/employee/age"
创建了路径范围索引作为 int
标量类型。
我的要求是 - 获取路径范围索引的所有值的总和 "/employee/age"
。
我试过 - sum(cts:values(cts:path-reference("/employee/age")))
但它返回 10 作为输出总和 这里我期待30 作为输出总和.
上述问题的解决方案是什么?
cts:values()
函数 returns 存在的不同值的列表。它返回了一个 10 值,所以你的总和是 10。
尝试 cts:sum-aggregate()
,它适合此用例并考虑了频率。可以在 http://docs.marklogic.com/cts:sum-aggregate.
找到文档
假设我在 MarkLogic 中有如下三个文档,
<employee>
<name>a</name>
<age>10</age>
</employee>
<employee>
<name>b</name>
<age>10</age>
</employee>
<employee>
<name>c</name>
<age>10</age>
</employee>
文档 uris - 分别为 /employee/a、/employee/b、/employee/c。
我已经为 "/employee/age"
创建了路径范围索引作为 int
标量类型。
我的要求是 - 获取路径范围索引的所有值的总和 "/employee/age"
。
我试过 - sum(cts:values(cts:path-reference("/employee/age")))
但它返回 10 作为输出总和 这里我期待30 作为输出总和.
上述问题的解决方案是什么?
cts:values()
函数 returns 存在的不同值的列表。它返回了一个 10 值,所以你的总和是 10。
尝试 cts:sum-aggregate()
,它适合此用例并考虑了频率。可以在 http://docs.marklogic.com/cts:sum-aggregate.