簡體   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