簡體   English   中英

如何從數據庫marklogic獲取文檔uri名稱列表?

[英]How to get list of document uri names from a database marklogic?

嘿我想從給定的MarkLogic數據庫中獲取所有文檔名稱/ uri的列表。

我在stackoverflow中找到了這一行: 如何獲取Marklogic數據庫中的文檔總數?

...將獲取數據庫中的文檔計數。 我不知道如何修改它以列出所有文檔URI。

還給出了一個文檔URI,我想看看它是否存在於數據庫中?

我試過以下,但無法實現同樣的目標

for $x in xdmp:directory("/myDirectory/", "1")
return
fn:document-uri($x)

我需要一個像這樣的Xquery命令。 我是marklogic的新手,有人可以幫我嗎?

如果您需要從數據庫中獲取所有內容,請使用uri列表cts:uris() 它只會返回uri,並且不需要像fn:doc()那樣返回完整的文檔。 如果uri詞典在數據庫級別設置為true,那么它將在內存索引中啟動。

如果要檢查文檔是否存在,請使用

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

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需要啟用cts:uris(), URI Lexicon

如果沒有給出參數,則fn:doc()將返回所有文檔的列表,如果給出了URI,則返回文檔。 因此,要列出數據庫中的所有URI,請使用:

for $x in fn:doc()
   return fn:document-uri($x)

有關更多信息,請參閱fn:doc 如果要檢查文檔是否存在,只需使用帶有URI的fn:doc()

fn:doc("/example/uri.xml")

查找文檔是否存在的另一個選項:

xdmp:exists(doc("uri.xml"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM