如何在Marklogic Server中执行CRUD操作?

时间:2012-06-11 07:19:21

标签: xml xquery marklogic

我想对存储在Marklogic Server中的xml文档执行CRUD操作。请问有什么人可以告诉我如何在Marklogic Server中执行CRUD操作?

3 个答案:

答案 0 :(得分:1)

您如何连接MarkLogic数据库?这可能会对您如何进行CRUD产生重大影响。

如果您正在使用HTTP服务推送数据,您可以使用现有的REST端点(例如Corona project)或使用XQuery创建自己的端点。

如果您使用的是Java或.Net,则可以通过XCC库进行连接,该库具有CRUD功能,而无需编写XQuery。

在纯XQuery中,以下命令可能有助于在MarkLogic网站上的MarkLogic XQuery函数文档中进行阅读:

  • xdmp:document-insert()
    • 这将执行CRUD的创建和更新
  • fn:doc-available()
    • 如果您要测试以查看文档是否存在。一些做CRUD的人想要这样做,以使创建和更新不同。其他人不在乎。
  • xdmp:document-delete()
    • CRUD中的删除
  • fn:doc()
    • 读入CRUD

答案 1 :(得分:0)

存储文档后,您可以使用xdmp:node-replace()xdmp:node-insert-child()等函数逐个节点地操作文档。或者,您可以通过xdmp:document-insert()将新版本保存到同一URI来更改文档,也可以通过xdmp:document-delete()删除文档。

请注意,MarkLogic中的事务语义确实有效,因此在执行事务期间文档永远不会更改。您需要完成事务并从数据库中获取文档以查看更改。

答案 2 :(得分:0)

另请参阅http://community.marklogic.com/try/corona/index了解更高级别的API。