Xquery 代码问题-尝试列出MarkLogic目录中的文档

Xquery 代码问题-尝试列出MarkLogic目录中的文档,xquery,marklogic,Xquery,Marklogic,我试图列出MarkLogic数据库中几个目录中的文档 我是XQuery新手,所以我只需要有人花30秒的时间告诉我出了什么问题以及如何修复。作为MarkLogic的一部分,我不确定这是否会增加额外的层复杂性,我无法回答 我的代码如下-我正在尝试使用MarkLogic查询控制台中的XQuery返回MarkLogic 9数据库目录中的所有文档/Engine/Cooling/Radiators: for d$ in xdmp:directory("/Engine/Cooling/Radiato

我试图列出MarkLogic数据库中几个目录中的文档

我是XQuery新手,所以我只需要有人花30秒的时间告诉我出了什么问题以及如何修复。作为MarkLogic的一部分,我不确定这是否会增加额外的层复杂性,我无法回答

我的代码如下-我正在尝试使用MarkLogic查询控制台中的XQuery返回MarkLogic 9数据库目录中的所有文档
/Engine/Cooling/Radiators

for d$ in xdmp:directory("/Engine/Cooling/Radiators","1")
return xdmp:node-uri(d$)
它回来了

 "XDMP-UNEXPECTED ( err:XPST0003) Unexpected token sysntax error, unexpected QName_, expecting $end of SemiColon_"

我已经花了很多时间在XQuery编码上搜索网站了。我意识到这是一个很简单的问题,但我被卡住了,需要那些编写这些东西并可能在MarkLogic中工作的人的帮助。

你有点打字。XQuery变量需要在变量名称前面加上
$

d$
更改为
$d

for $d in xdmp:directory("/Engine/Cooling/Radiators","1")
return xdmp:node-uri($d)
您可以使用XPath缩短代码并消除for循环和变量:

xdmp:directory("/Engine/Cooling/Radiators","1")/xdmp:node-uri(.)
或使用:


你有点打字。XQuery变量需要在变量名称前面加上
$

d$
更改为
$d

for $d in xdmp:directory("/Engine/Cooling/Radiators","1")
return xdmp:node-uri($d)
您可以使用XPath缩短代码并消除for循环和变量:

xdmp:directory("/Engine/Cooling/Radiators","1")/xdmp:node-uri(.)
或使用:


谢谢Mads,这真的很好用!我使用了缩短的代码版本。我建议使用map操作符而不是XPath方法。XPath会搞乱订单。谢谢Mads,这真的很好用!我使用了缩短的代码版本。我建议使用map操作符而不是XPath方法。XPath会搞乱订单的。嗨,史蒂夫。如果一个答案解决了你的问题,标记它并考虑投票。嗨,史蒂夫。如果一个答案解决了你的问题,标记它并考虑投票。