MarkLogic staging库按指定条件统计JSON文档数量的实现方法
MarkLogic XQuery 统计实现方案
当然可以直接编写XQuery实现你需要的统计逻辑,操作步骤和代码如下:
前提建议
建议先在data-hub-staging库为JSON属性source创建字符串类型的范围索引,可大幅提升查询性能。
最优查询代码(带索引场景)
xquery version "1.0-ml"; (: 统计所有source字段为source1的文档总数,自动跨库内所有集合查询 :) cts:count( cts:search( doc(), cts:json-property-value-query("source", "source1") ) )
上述查询等价于你提到的SQL语句Select count(*) from data-hub-staging where source='source1',返回结果就是符合条件的文档总数量。
小数据量临时查询方案(无索引场景)
如果是数据量小于1万的临时查询,不想单独建索引可以用通用遍历写法:
xquery version "1.0-ml"; count( for $doc in / where $doc/source = "source1" return $doc )
内容的提问来源于stack exchange,提问作者Ronald
相关产品推荐
相关产品推荐

