我想刪除所有匹配謂詞的文檔。我想到的查詢如下,但沒有任何東西從數據庫中刪除。刪除與查詢匹配的所有文檔?
我懷疑這是因爲$ doc被設置爲文檔的XML值而不是文檔本身。任何人都可以對此有所瞭解嗎?
xquery version "1.0-ml";
for $doc in cts:search(fn:collection("MYCOLLECTIONNAME")/MyDocumentRoot,
cts:or-query((
cts:element-range-query (xs:QName("MyElement"), "=", "MyElementValue"),
)), "unfiltered")
return xdmp:document-delete($doc);
文件看起來像
<MyDocumentRoot>
<MyElementName>MyElementValue</MyElementName>
</MyDocumentRoot>
共發現關於使用URI以及配料。 – 2012-07-13 00:15:04
注意'fn:base-uri'的'xml:base'屬性!大多數時候使用'xdmp:node-uri'更安全。 – mblakele 2014-09-12 15:14:12
'xml:base'沒有經常使用,但是'xdmp:node-uri'可能更安全,如果您不確定是否不存在xml:base屬性會導致混亂。還有'fn:document-uri',但明確地只對文檔節點起作用,所以除非你確定手邊有doc節點,否則你可以將它與'fn:root'結合起來。然後再次xdmp:node-uri就是一個簡短的例子.. – grtjn 2014-09-13 21:07:02