我的数据库有"n“个文档,我需要使用我提供的元素和值动态地搜索文档。我在下面解释-
我数据库里的样本文件-
document1-
<root>
<id1>12345</id1>
<value>Country</value>
<node1>somevalue</node1>
<node2>somevalue</node2>
<node3>somevalue</node3>
<node4>somevalue</node4>
.......................
</root>
document2-
<root>
<id2>34567</id2>
<value>Fruits</value>
<node1>somevalue</node1>
<node2>somevalue</node2>
<node3>somevalue</node3>
<node4>somevalue</node4>
.......................
</root>我需要将输入参数作为Rest端点来执行我的操作,rest xml文档的输入如下-
INPUT XML-
<root>
<id>id1</id>
<idvalue>12345</idvalue>
.......................
</root>我需要的输出如例所示-
示例-从具有Id=Id1的数据库中搜索所有文档并搜索它的value=12345
有什么建议吗?
发布于 2018-11-12 11:58:34
您可以通过MarkLogic的示例(QBE)来探索查询。有关更多详细信息,请访问URL https://docs.marklogic.com/guide/search-dev/qbe
发布于 2018-11-13 16:17:18
XPath可以提取用于构造cts.elementValueQuery()的输入值。
在SJS中,应该使用类似于以下内容的内容:
cts.search(cts.elementValueQuery(
xs.QName(fn.string(input.xpath('/root/id'))),
fn.string(input.xpath('/root/idvalue'))
))或类似于XQuery中的以下内容:
cts:search(fn:collection(), cts:element-value-query(
xs:QName(fn:string($input/root/id)),
fn:string($input/root/idvalue)
))有关更多信息,请参阅http://docs.marklogic.com/cts.elementValueQuery
希望这有帮助,
https://stackoverflow.com/questions/53260655
复制相似问题