gpt4 book ai didi

Marklogic 如何保存多个工作区

转载 作者:行者123 更新时间:2023-12-02 22:53:09 24 4
gpt4 key购买 nike

我在 Marklogic Qconsole 中有多个工作区。如何一次导出所有工作区。而不是一次将一个工作区导出到计算机。谢谢

最佳答案

您的工作区保存在应用服务数据库中。它们有一个 qconsole:workspace 元素,并且将有一个包含您的用户 ID 的 qconsole:userid 元素。

使用 QConsole 应用程序用于生成导出的一些内置函数,您可以将工作区转换为导出格式。

下面是一个查询,您可以运行该查询来查找所有工作区、生成导出格式,然后将它们保存到服务器上的 /tmp 目录中:

xquery version "1.0-ml";
declare namespace qconsole="http://marklogic.com/appservices/qconsole";
import module namespace qconsole-model="http://marklogic.com/appservices/qconsole/model"
at "/MarkLogic/appservices/qconsole/qconsole-model.xqy";
import module namespace amped-qconsole = "http://marklogic.com/appservices/qconsole/util-amped"
at "/MarkLogic/appservices/qconsole/qconsole-amped.xqy";

xdmp:invoke-function(
function(){
let $workspaces := cts:search(/qconsole:workspace,
cts:element-value-query(xs:QName("qconsole:userid"),
string(xdmp:get-current-userid())))
for $workspace in $workspaces
let $name := $workspace/qconsole:name/string()
let $wsid := $workspace/qconsole:id/data()
let $export := qconsole-model:export-workspace($wsid)
return
xdmp:save("/tmp/"||$name||".xml", $export)
},
<options xmlns="xdmp:eval">
<database>{xdmp:database("App-Services")}</database>
</options>
)

关于Marklogic 如何保存多个工作区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51803838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com