代码问题 - 尝试列出 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(.)
我正在尝试列出 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(.)