如何从数据库marklogic获取文档uri名称列表?

hap*_*yes 6 xml database xquery marklogic xquery-sql

嘿我想从给定的MarkLogic数据库中获取所有文档名称/ uri的列表.

我在stackoverflow中找到了这一行: 如何获取Marklogic数据库中的文档总数?

...将获取数据库中的文档计数.我不知道如何修改它以列出所有文档URI.

还给出了一个文档URI,我想看看它是否存在于数据库中?

我试过以下,但无法实现同样的目标

for $x in xdmp:directory("/myDirectory/", "1")
return
fn:document-uri($x)
Run Code Online (Sandbox Code Playgroud)

我需要一个像这样的Xquery命令.我是marklogic的新手,有人可以帮我吗?

Tyl*_*gle 10

如果你需要从数据库中获取所有uri使用列表cts:uris().它将返回uri,并且不会要求完整的文档返回fn:doc().如果uri词典在数据库级别设置为true,那么它将在内存索引中启动.

如果要检查文档是否存在,请使用

fn:doc-available("uri of document")

  • 是的我谢谢了.使用正确的名称更新了答案.我正在使用手机应用程序并从内存中进行操作. (2认同)

sco*_*ger 3

如果没有给出参数,fn:doc() 将返回所有文档的列表,如果给出 URI,则返回文档。因此,要列出数据库中的所有 URI,请使用:

for $x in fn:doc()
   return fn:document-uri($x)
Run Code Online (Sandbox Code Playgroud)

请参阅fn:doc了解更多信息。如果你想检查文档是否存在,只需使用fn:doc()URI:

fn:doc("/example/uri.xml")
Run Code Online (Sandbox Code Playgroud)