1

所以我一直在尝试将数据从一个数据库移动到另一个数据库。我已经移动了它们,但我需要清除已经从旧数据库中移动的文档。我一直在使用 ektorp 的执行批量来执行批量操作。document update conflict但是由于某种原因,当我尝试通过插入来删除批量时,我不断收到_deleted. 我可能做错了,这就是我所做的。

  1. 使用 批量获取include docs。(出于某种原因,这不适用于 just idand rev。)
  2. 然后将 _deleted 字段包含到每个文档中。
  3. 使用executebulk.

它适用于某些文档,但会不断出现某些文档的文档更新冲突。

请提供任何解决方案/建议..

4

2 回答 2

2

这是批量删除文档的首选方式:

List<Object> bulkDocs = ...
MyClass toBeDeleted = ...

bulkDocs.add(BulkDeleteDocument.of(toBeDeleted));

db.executeBulk(bulkDocs);
于 2015-03-10T16:05:39.787 回答
0

如果您只需要一种批量删除/更新文档的方法,并且您不需要在自己的软件中实现它,您可以在以下位置使用很棒的 couchapp:

https://github.com/harthur/costco

您需要使用couchapp 部署工具将其上传到您自己的服务器,并使用类似的功能

function(doc) {
    if(doc.istodelete)  // replace this or remove to delete all docs
        return null;
}     

阅读说明示例

于 2015-04-02T17:24:42.143 回答