cts查询,只从Marklogic staging中的json文档中选择一个字段



我正在尝试编写一个javaScript cts查询,以基于另一个键从json文档中查询一个键。即,类似于从数据集线器暂存中选择类似查询的名称,其中source="source1">

{
"source": "source1",
"name": "John",
"DOB": "1-01-1990",
"load_date": "2021-10-23 10:23:55"
}

我一直在尝试下面的查询,但它返回了所有字段,我只想要名称字段。

const query = cts.jsonPropertyValueQuery(
"source",
"source1");
cts.search(query)

cts.search的目的是运行返回整个文档的搜索。CCD_ 2标识用于选择文档的标准。运行搜索后,您将能够从该文档中提取出您想要的任何内容。我认为这应该做到:

const query = cts.jsonPropertyValueQuery(
"source",
"source1");
cts.search(query)
.toArray()
.map(doc => doc.root.name)

您可以使用MarkLogic的jSearch API做类似的事情:

import jsearch from '/MarkLogic/jsearch.mjs';
jsearch.documents()
.where(jsearch.byExample({source: {$value: 'source1'}}))
.map({extract: {paths: ['/name']}})
.result()

最新更新