Marklogic 8:批量删除

时间:2016-11-18 07:57:50

标签: marklogic marklogic-8

我使用的是Marklogic 8.0.6,我想知道我们是否可以批量删除方法。例如,我想删除150,000个文件,我可以用URI列表或公共属性识别(字段COUNTRY = US和COLOR = BLUE)。

有没有办法使用ML本机函数(在node.js中)以批量模式执行这些DELETE(对于这两种情况:URI列表和公共属性)?出于延迟的原因,显而易见的是,150 000个API调用不具备高性能。

谢谢, 罗曼。

2 个答案:

答案 0 :(得分:3)

有几种选择。

  • 如果有collection or directory that you can delete,则可以执行此操作
  • 如果您知道要删除的文档的URI,可以将它们的列表传递给delete命令;如果一个事务的数量太多,您可以执行多语句事务来获取所有事务。
  • 您还可以create a service extension发送查询参数,然后您的扩展程序可以运行查询并删除结果

使用其他详细信息进行更新以删除多个文档。 documents.removeuris参数获取字符串或字符串数​​组:

db.documents.remove(
  ['/doc1.json', '/doc2.json']
)

答案 1 :(得分:0)

您可以使用目录林的读/写属性,或在文件插入中使用直接目录林放置选项来安排文档“迁移”到新目录林(或移出目录林),然后简单地分离目录林