Marklogic 8:批量删除

Marklogic 8 : delete in bulk

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

有没有办法使用 ML 本机函数(在 node.js 中)以批量模式执行这些 DELETE(对于这两种情况:URI 列表和公共属性)?由于延迟原因,很明显 150 000 API 次调用性能不佳。

谢谢, 罗曼.

有几个选项。

  • 如果有 collection or directory that you can delete,你可以这样做
  • 如果您知道要删除的文档的 URI,您可以将它们的列表传递给删除命令;如果一次交易太多,你可以做一个多语句交易来获得它们。
  • 您还可以 create a service extension,发送查询参数,然后您的分机可以 运行 查询并删除结果

正在更新删除多个文档的更多详细信息。 documents.removeuris 参数采用字符串或字符串数​​组:

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

您可以使用森林的 read/write 属性,或直接使用森林放置选项来插入文件,以将文件安排到 'migrate' 新森林(或森林外) ,然后简单地分离森林。