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

Code issue - trying to list documents in MarkLogic directory

我正在尝试列出 MarkLogic 数据库中几个目录中的文档。

我是 XQuery 的新手,所以我只需要别人花 30 秒的时间来告诉我哪里出了问题以及如何解决。因为它在 MarkLogic 中,我不确定这是否会在这一切之上增加额外的层复杂性,我无法回答。

我的代码在下面 - 我想做的就是尝试 return MarkLogic 9 数据库目录中的所有文档 /Engine/Cooling/Radiators 使用 MarkLogic 查询控制台中的 XQuery :

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

它returns

 "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(.)

或使用 simple map operator:

xdmp:directory("/","1") ! xdmp:node-uri(.)