如果我不在 Corb 中指定集合名称会发生​​什么

what happens if i don't specify the collection name in Corb

我有一个 corb 脚本来 运行 节点替换 xml 文件。

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

如果您使用 xdmp:node-replace() 更改文档,则该文档将保留在其集合中,您无需担心 setting/adding 它会变回来。

如果您使用 xdmp:document-insert() 替换当前 URI 处的文档,那么您需要指定集合,否则它将从现有集合中删除。

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

的第 4 个参数
xdmp:document-insert($URI, $doc, (), xdmp:document-get-collections($URI))

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