繁体   English   中英

将文档插入特定的数据库MarkLogic

[英]Insert a document into a particular database MarkLogic

我正在使用roxy建立一个数据库,该数据库不同于“文档”数据库。 我想将配置文件插入该数据库。

我在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-insertxdmp:document-insert默认的“ documents”数据库。 我四处张望,找不到找到将文档加载到该数据库的方法。 我只找到了一种使用xdmp:document-load( https://docs.marklogic.com/xdmp:document-load )将文档插入特定森林的方法。

我有什么办法说可以将此东西加载到此数据库中,最好只是作为xquery参数加载吗?

xdmp:document-insert默认情况下不会插入到Documents数据库中。 它将插入到应用程序服务器配置中定义的数据库中。 这个想法是您有一个用于与数据库接口的应用程序服务器。

一些注意事项:

  • 使用为您的数据库配置的应用服务器。
  • 或者使用具有此参数的REST API
  • 或使用HTTP重写规则根据用户,URI或查询参数动态更改数据库
  • 或使用xdmp:eval或其衍生版本(生成,调用,调用功能),它们都具有定义要使用的数据库的选项。

对于您的特定示例,我建议您使用xdmp:invoke-function。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM