在不增加版本的情况下手动更新托管文档
Manualy update managed documents without incrementing version
我想手动更新托管文档而不增加到新版本。
我注意到更新 uri 引用的文档不会传播到最新版本指向的文档 - 我需要直接在最新版本中进行另一个更新。
这次黑客攻击或我错过的事情是否有任何不良后果?
let $uri := "/docs/doc.xml"
let $doc := fn:doc($uri)/doc
let $_ := xdmp:node-replace($doc/element/text(), text { "changed" })
let $hist := dls:document-history($uri)
let $docFromHist := dls:document-version($uri, max(data($hist//dls:version-id)))/doc
let $_ := xdmp:node-replace($docFromHist/element/text(), text { "changed" })
根据文档,您不能在图书馆服务管理下的文档上使用节点更新功能:
https://docs.marklogic.com/guide/app-dev/dls#id_87706
You cannot use node update functions, such as xdmp:node-replace, with managed documents.
相反,您需要 运行 dls 库中的适当函数,在本例中为 dls:document-update()
我想手动更新托管文档而不增加到新版本。
我注意到更新 uri 引用的文档不会传播到最新版本指向的文档 - 我需要直接在最新版本中进行另一个更新。
这次黑客攻击或我错过的事情是否有任何不良后果?
let $uri := "/docs/doc.xml"
let $doc := fn:doc($uri)/doc
let $_ := xdmp:node-replace($doc/element/text(), text { "changed" })
let $hist := dls:document-history($uri)
let $docFromHist := dls:document-version($uri, max(data($hist//dls:version-id)))/doc
let $_ := xdmp:node-replace($docFromHist/element/text(), text { "changed" })
根据文档,您不能在图书馆服务管理下的文档上使用节点更新功能:
https://docs.marklogic.com/guide/app-dev/dls#id_87706
You cannot use node update functions, such as xdmp:node-replace, with managed documents.
相反,您需要 运行 dls 库中的适当函数,在本例中为 dls:document-update()