Xquery 如果我不';t在Corb中指定集合名称

Xquery 如果我不';t在Corb中指定集合名称,xquery,marklogic,marklogic-8,marklogic-corb,Xquery,Marklogic,Marklogic 8,Marklogic Corb,我有一个corb脚本在xml文件上运行node replace 如果我没有指定集合,它会从现有集合中删除文档吗?如果您正在使用更改文档,那么文档将保留在它的集合中,您无需担心设置/添加它 如果要使用替换当前URI处的文档,则需要指定集合,否则它将从现有集合中删除 但是,您可以使用来检索URI的集合序列,并将其用于xdmp:document-insert() 最好在执行节点替换时提供一个空集合值,这样就不会更改文档的现有集合。不定义此属性会在运行脚本时引发错误。您是在询问xdmp:node-rep

我有一个corb脚本在xml文件上运行node replace


如果我没有指定集合,它会从现有集合中删除文档吗?

如果您正在使用更改文档,那么文档将保留在它的集合中,您无需担心设置/添加它

如果要使用替换当前URI处的文档,则需要指定集合,否则它将从现有集合中删除

但是,您可以使用来检索URI的集合序列,并将其用于
xdmp:document-insert()


最好在执行节点替换时提供一个空集合值,这样就不会更改文档的现有集合。不定义此属性会在运行脚本时引发错误。

您是在询问
xdmp:node-replace()
方法,还是说如果要使用
xdmp:document-insert()
来“更新”文档?node-replace()没有集合参数。谢谢@mads hansen。我只是在替换一个节点,因此我将跳过收集此答案不正确。如果调用xdmp:node-replace(),则集合没有参数。如果调用xdmp:document-insert(),不提供集合(省略参数)会将文档放入用户的默认集合中;指定无集合(空序列)将使文档处于无集合状态。Mads的回答应该被接受。谢谢@Dave Cassel。xdmp:node replace没有集合选项,但在corb脚本中指定集合是我遇到的问题。
xdmp:document-insert($URI, $doc, (), xdmp:document-get-collections($URI))