将文档插入特定数据库 MarkLogic
Insert a document into a particular database MarkLogic
我正在使用 roxy 设置一个数据库,它与 "documents" 数据库不同。我想将配置文件插入该数据库。
我在 xquery ml-1.0 中有这个功能
xquery version "1.0-ml";
declare namespace appsetup = "http://kittens.com.au/appsetup";
declare function appsetup:setup-day0($root,$content-db){
(: some values :)
let $m := map:new ()
let $_ := map:put ($m, "Kittens-Forever",xdmp:parse-dateTime("[Y0001]-[M01]-[D01]", "2999-12-31"))
let $_ := map:put ($m, "Kittens-Never", xdmp:parse-dateTime("[Y0001]-[M01]-[D01]", "1899-12-31"))
let $_ := map:put ($m, "Kittens-Load-Root", $root)
return xdmp:document-insert ("/ksys/smap", <s:map>{$m}</s:map>,
(xdmp:permission ("Kittens-role", "read"),
xdmp:permission ("Kittens-role", "update")) )
};
xdmp:document-insert
将文档插入默认的 "documents" 数据库。我环顾四周,找不到将此文档加载到此数据库中的方法。我只找到了一种使用 xdmp:document-load (https://docs.marklogic.com/xdmp:document-load).
将文档插入特定林的方法
有没有办法让我把这个东西加载到这个数据库中,最好只是作为 xquery 参数?
xdmp:document-insert 默认情况下不会插入文档数据库。它插入到应用程序服务器配置中定义的数据库中。这个想法是您有一个用于与数据库交互的应用程序服务器。
一些注意事项:
- 使用为您的数据库配置的应用服务器。
- 或者使用具有此参数的 REST API
- 或者使用 HTTP 重写规则根据用户、URI 或查询参数动态更改数据库
- 或使用 xdmp:eval 或其衍生产品(spawn、invoke、invoke-function),它们都可以选择定义要使用的数据库。
对于您的特定示例,我建议您使用 xdmp:invoke-函数。
我正在使用 roxy 设置一个数据库,它与 "documents" 数据库不同。我想将配置文件插入该数据库。
我在 xquery ml-1.0 中有这个功能
xquery version "1.0-ml";
declare namespace appsetup = "http://kittens.com.au/appsetup";
declare function appsetup:setup-day0($root,$content-db){
(: some values :)
let $m := map:new ()
let $_ := map:put ($m, "Kittens-Forever",xdmp:parse-dateTime("[Y0001]-[M01]-[D01]", "2999-12-31"))
let $_ := map:put ($m, "Kittens-Never", xdmp:parse-dateTime("[Y0001]-[M01]-[D01]", "1899-12-31"))
let $_ := map:put ($m, "Kittens-Load-Root", $root)
return xdmp:document-insert ("/ksys/smap", <s:map>{$m}</s:map>,
(xdmp:permission ("Kittens-role", "read"),
xdmp:permission ("Kittens-role", "update")) )
};
xdmp:document-insert
将文档插入默认的 "documents" 数据库。我环顾四周,找不到将此文档加载到此数据库中的方法。我只找到了一种使用 xdmp:document-load (https://docs.marklogic.com/xdmp:document-load).
有没有办法让我把这个东西加载到这个数据库中,最好只是作为 xquery 参数?
xdmp:document-insert 默认情况下不会插入文档数据库。它插入到应用程序服务器配置中定义的数据库中。这个想法是您有一个用于与数据库交互的应用程序服务器。
一些注意事项:
- 使用为您的数据库配置的应用服务器。
- 或者使用具有此参数的 REST API
- 或者使用 HTTP 重写规则根据用户、URI 或查询参数动态更改数据库
- 或使用 xdmp:eval 或其衍生产品(spawn、invoke、invoke-function),它们都可以选择定义要使用的数据库。
对于您的特定示例,我建议您使用 xdmp:invoke-函数。