如何从数据库 marklogic 获取文档 uri 名称列表?
How to get list of document uri names from a database marklogic?
嘿,我正在尝试从给定的 MarkLogic 数据库中获取所有文档名称 /uri 的列表。
我在 Whosebug 中找到了这一行:
How to get total number of documents in Marklogic database?
...这将获取数据库中的文档数。我不确定如何修改它以列出所有文档 URI。
还给了一个文档URI我想看看它是否存在于数据库中?
我尝试了以下方法,但无法达到同样的效果
for $x in xdmp:directory("/myDirectory/", "1")
return
fn:document-uri($x)
我需要这样的 Xquery 命令。我是 marklogic 的新手,有人可以帮助我吗?
如果没有给定参数,fn:doc() 将 return 所有文档的列表,如果给定 URI,则 return 文档。因此,要列出数据库中的所有 URI,请使用:
for $x in fn:doc()
return fn:document-uri($x)
有关更多信息,请参阅 fn:doc。如果要检查文档是否存在,只需使用 fn:doc()
和 URI:
fn:doc("/example/uri.xml")
查找文档是否存在的另一个选项:
xdmp:exists(doc("uri.xml"))
如果您只需要从数据库中获取 uri 列表,就可以使用 cts:uris()
. It will just return the uri and won't require the full documents to be return like fn:doc()
。如果 uri 词典在数据库级别设置为 true,它将在内存索引中启动。
如果要检查文档是否存在,请使用
1- 如果你使用过集合那么你可以使用
for $each in collection("collection-name")
return fn:document-uri($each)
2- 如果您有相同的目录结构则使用
for $each in xdmp:directory("/myDirectory/", "infinity")
return fn:document-uri($each)
3-如果你没有用过以上任何一种情况,你可以使用cts:uris()
请注意,为了使用 cts:uris(), URI Lexicon
需要启用。
嘿,我正在尝试从给定的 MarkLogic 数据库中获取所有文档名称 /uri 的列表。
我在 Whosebug 中找到了这一行: How to get total number of documents in Marklogic database?
...这将获取数据库中的文档数。我不确定如何修改它以列出所有文档 URI。
还给了一个文档URI我想看看它是否存在于数据库中?
我尝试了以下方法,但无法达到同样的效果
for $x in xdmp:directory("/myDirectory/", "1")
return
fn:document-uri($x)
我需要这样的 Xquery 命令。我是 marklogic 的新手,有人可以帮助我吗?
fn:doc() 将 return 所有文档的列表,如果给定 URI,则 return 文档。因此,要列出数据库中的所有 URI,请使用:
for $x in fn:doc()
return fn:document-uri($x)
有关更多信息,请参阅 fn:doc。如果要检查文档是否存在,只需使用 fn:doc()
和 URI:
fn:doc("/example/uri.xml")
查找文档是否存在的另一个选项:
xdmp:exists(doc("uri.xml"))
如果您只需要从数据库中获取 uri 列表,就可以使用 cts:uris()
. It will just return the uri and won't require the full documents to be return like fn:doc()
。如果 uri 词典在数据库级别设置为 true,它将在内存索引中启动。
如果要检查文档是否存在,请使用
1- 如果你使用过集合那么你可以使用
for $each in collection("collection-name")
return fn:document-uri($each)
2- 如果您有相同的目录结构则使用
for $each in xdmp:directory("/myDirectory/", "infinity")
return fn:document-uri($each)
3-如果你没有用过以上任何一种情况,你可以使用cts:uris()
请注意,为了使用 cts:uris(), URI Lexicon
需要启用。