Marklogic 如何保存多个工作区
Marklogic How to save multiple Workspaces
我在 Marklogic Qconsole 中有多个工作区。如何一次导出所有工作区。而不是一次将一个工作区导出到计算机。谢谢
您的工作区保存在 App-Services 数据库中。他们有一个 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 Qconsole 中有多个工作区。如何一次导出所有工作区。而不是一次将一个工作区导出到计算机。谢谢
您的工作区保存在 App-Services 数据库中。他们有一个 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>
)