在MarkLogic中,你可以使用多种方法插入带有选项的文档。以下是一些常见的方法:
xdmp:document-insert
函数xdmp:document-insert
是一个用于插入文档的函数,它允许你指定多个选项。以下是一个示例:
xquery version "1.0-ml";
let $uri := "/path/to/your/document.xml"
let $document := <root><element>Content</element></root>
let $options := (
map:entry("format", "xml"),
map:entry("collections", ("collection1", "collection2")),
map:entry("permissions", (
xdmp:permission("app-user", "read"),
xdmp:permission("app-user", "update")
))
)
return
xdmp:document-insert($uri, $document, $options)
在这个示例中,我们插入了一个XML文档,并指定了以下选项:
format
: 文档格式(例如,xml
, json
)collections
: 文档所属的集合permissions
: 文档的权限xdmp:save
函数xdmp:save
函数也可以用于插入文档,并且允许你指定选项。以下是一个示例:
xquery version "1.0-ml";
let $uri := "/path/to/your/document.xml"
let $document := <root><element>Content</element></root>
let $options := (
map:entry("format", "xml"),
map:field("collections", ("collection1", "collection2")),
map:field("permissions", (
xdmp:permission("app-user", "read"),
xdp:permission("app-user", "update")
))
)
return
xdmp:save($uri, $document, $options)
在这个示例中,我们使用了类似的选项,但使用了 xdmp:save
函数。
如果你更喜欢使用REST API,你可以通过HTTP请求插入文档并指定选项。以下是一个使用curl的示例:
curl -X POST -H "Content-Type: application/xml" -d '<root><element>Content</element></root>' \
-H "X-Database: your-database-name" \
-H "X-Document-URI: /path/to/your/document.xml" \
-H "X-Format: xml" \
-H "X-Collections: collection1,collection2" \
-H "X-Permissions: read,update" \
http://localhost:8000/v1/documents
在这个示例中,我们通过HTTP POST请求插入了一个XML文档,并指定了数据库名称、文档URI、格式、集合和权限。
领取专属 10元无门槛券
手把手带您无忧上云