Couchdb 批量操作
Couch db bulk operations
所以我一直在尝试将数据从一个数据库移动到另一个数据库。我已经移动了它们,但我需要清除我已经从旧数据库中移动的文档。我一直在使用 ektorp 的 execute bulk 来执行批量操作。但是由于某种原因,当我尝试通过插入 _deleted
来删除批量时,我一直得到 document update conflict
。
我可能做错了,这是我做的。
- 使用
include docs
批量获取。 (出于某种原因,这不适用于 id
和 rev
。)
- 然后在每个文档中包含 _deleted 字段。
- Post 使用
executebulk
.
它适用于某些文档,但对某些文档不断发生文档更新冲突。
任何 solution/suggestions 请..
这是批量删除文档的首选方式:
List<Object> bulkDocs = ...
MyClass toBeDeleted = ...
bulkDocs.add(BulkDeleteDocument.of(toBeDeleted));
db.executeBulk(bulkDocs);
如果您只需要一种方法来批量 delete/update 文档,而不需要在您自己的软件中实现它,您可以在以下位置使用很棒的 couchapp:
https://github.com/harthur/costco
您需要使用couchapp deployment tool将其上传到您自己的服务器,并使用类似
的功能
function(doc) {
if(doc.istodelete) // replace this or remove to delete all docs
return null;
}
阅读instructions and examples
所以我一直在尝试将数据从一个数据库移动到另一个数据库。我已经移动了它们,但我需要清除我已经从旧数据库中移动的文档。我一直在使用 ektorp 的 execute bulk 来执行批量操作。但是由于某种原因,当我尝试通过插入 _deleted
来删除批量时,我一直得到 document update conflict
。
我可能做错了,这是我做的。
- 使用
include docs
批量获取。 (出于某种原因,这不适用于id
和rev
。) - 然后在每个文档中包含 _deleted 字段。
- Post 使用
executebulk
.
它适用于某些文档,但对某些文档不断发生文档更新冲突。
任何 solution/suggestions 请..
这是批量删除文档的首选方式:
List<Object> bulkDocs = ...
MyClass toBeDeleted = ...
bulkDocs.add(BulkDeleteDocument.of(toBeDeleted));
db.executeBulk(bulkDocs);
如果您只需要一种方法来批量 delete/update 文档,而不需要在您自己的软件中实现它,您可以在以下位置使用很棒的 couchapp:
https://github.com/harthur/costco
您需要使用couchapp deployment tool将其上传到您自己的服务器,并使用类似
的功能function(doc) {
if(doc.istodelete) // replace this or remove to delete all docs
return null;
}
阅读instructions and examples