更新MarkLogic 8在MarkLogic 9中摄取的双时态文档

更新MarkLogic 8在MarkLogic 9中摄取的双时态文档,marklogic,marklogic-9,bi-temporal,Marklogic,Marklogic 9,Bi Temporal,有没有办法更新MarkLogic-9中MarkLogic-8中摄取的双时态文档?目前,临时更新API仅适用于在ML-9或更高版本中摄取的文档。请建议。 正在生成以下错误: 未找到元数据TemporalDocURI。临时节点更新内置项仅适用于使用ML9或更高版本创建的临时文档为了升级它们,您只需使用ML9在它们上运行即可。您应该能够做到这一点,而无需对文档内容进行任何更改即可进行“干净”升级。要使ML-8双时态文档在ML-9中可更新,我们需要在要进行更新的现有文档URI中添加新的元数据“tempo

有没有办法更新MarkLogic-9中MarkLogic-8中摄取的双时态文档?目前,临时更新API仅适用于在ML-9或更高版本中摄取的文档。请建议。 正在生成以下错误:


未找到元数据TemporalDocURI。临时节点更新内置项仅适用于使用ML9或更高版本创建的临时文档

为了升级它们,您只需使用ML9在它们上运行即可。您应该能够做到这一点,而无需对文档内容进行任何更改即可进行“干净”升级。

要使ML-8双时态文档在ML-9中可更新,我们需要在要进行更新的现有文档URI中添加新的元数据“temporalDocURI”

示例代码:

let $uri := "/documents/test.xml"
return xdmp:document-put-metadata(
$uri,map:map(<map:map xmlns:map="http://marklogic.com/xdmp/map">
  <map:entry key="temporalDocURI">
    <map:value>{$uri}</map:value>
  </map:entry>
</map:map>))
let$uri:=“/documents/test.xml”
返回xdmp:文档放置元数据(
$uri,map:map(
{$uri}
))
一旦元数据添加到我们想要更新的双时态文档中,节点更新或插入的时态API将适用于在ML-9之前插入的所有文档

注意为了让“xdmp:document put metadata”API在时态文档上工作,它需要对时态文档所属的时态集合具有覆盖权限,如果进行更改的用户不是管理员用户,然后需要为用户添加粒度执行权限,然后执行“xdmp:document put metadata”