Javascript 在集合中的所有文档中查找给定json属性的不同值

Javascript 在集合中的所有文档中查找给定json属性的不同值,javascript,java,json,marklogic,Javascript,Java,Json,Marklogic,给定文档中的json属性,我需要获取集合中所有文档中该属性的所有不同值。使用Marklogic Java客户端API是否可以实现这一点 例如,我有3个类型为“MyDocument”的文档,属性为“myProperty”- MyDocument1.json { "myProperty":"val1" } MyDocument2.json { "myProperty":"val1" } MyDocum

给定文档中的json属性,我需要获取集合中所有文档中该属性的所有不同值。使用Marklogic Java客户端API是否可以实现这一点

例如,我有3个类型为“MyDocument”的文档,属性为“myProperty”-

MyDocument1.json

{
    "myProperty":"val1"
}
MyDocument2.json

{
    "myProperty":"val1"
}
MyDocument3.json

{
    "myProperty":"val2"
}
我想搜索“myProperty”的所有不同值,即结果应该是“val1”和“val2”

还有,如果我能根据这些不同的值对文档进行分组。例如:

{
    "val1": [
       {
           "myProperty":"val1"
       },
       {
           "myProperty":"val1"
       }
    ],
    "val2": [
       {
           "myProperty":"val2"
       }
    ]
}
我非常感谢任何人的帮助或推动。提前谢谢

更新:

我可以使用qConsole获得我想要的结果,但是使用XQuery。这就是我所做的-

    xquery version "1.0-ml";
import module namespace search = "http://marklogic.com/appservices/search" at "/MarkLogic/appservices/search/search.xqy";
    
    let $options :=
        <options xmlns="http://marklogic.com/appservices/search">
            <values name="myProperty">
                <range type="string" facet="true">
                    <json-property>myProperty</json-property>
                </range>
            </values>                
        </options>
        
    return search:values("myProperty", $options)
xquery版本“1.0-ml”;
导入模块命名空间搜索=”http://marklogic.com/appservices/search“在“/MarkLogic/appservices/search/search.xqy”;
让$options:=
我的财产
返回搜索:值(“myProperty”,$options)
我得到的结果是-

<search:values-response name="myProperty" type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:search="http://marklogic.com/appservices/search">
    <search:distinct-value frequency="2">val1</search:distinct-value>
    <search:distinct-value frequency="1">val2</search:distinct-value>
</search:values>

瓦尔1
瓦尔2

现在我需要使用Java客户端API来实现这一点。

最简单的解决方案是使用以下函数从词典中选择值:

否则,您可以尝试暴力方法。您可以迭代每个文档,选择属性的值并放入映射,然后从映射报告键

如果您有一个具有该JSON属性的非常大的文档集合,那么在单个查询中收集数据时可能会出现超时或扩展树缓存错误。您可以运行CoRB作业,将该属性的值写入输出文件,并使用值
升序| distinct