cts:values函数未返回路径参考的所有值

问题描述 投票:1回答:1

假设我在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作为输出总和上述问题的解决方案是什么?
marklogic marklogic-9
1个回答
0
投票
cts:values()函数返回存在的不同值的列表。它返回一个10值,所以您的总和为10。

尝试cts:sum-aggregate(),它适合此用例并考虑了频率。可以在http://docs.marklogic.com/cts:sum-aggregate中找到文档。

© www.soinside.com 2019 - 2024. All rights reserved.