Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Couchdb 数据库批量操作_Couchdb_Conflict_Ektorp_Bulk Operations - Fatal编程技术网

Couchdb 数据库批量操作

Couchdb 数据库批量操作,couchdb,conflict,ektorp,bulk-operations,Couchdb,Conflict,Ektorp,Bulk Operations,所以我一直在尝试将数据从一个数据库移动到另一个数据库。我已经移动了它们,但我需要清除已从旧数据库中移动的文档。我一直在使用ektorp的执行批量来执行批量操作。但由于某种原因,当我试图通过插入\u deleted来删除批量时,我不断收到文档更新冲突。 我可能做错了,这就是我所做的 使用包含文档批量获取。(由于某些原因,这不适用于仅id和rev) 然后将_deleted字段包含到每个文档中 使用executebulk发布 它对某些文档有效,但对某些文档不断获取文档更新冲突 请提供任何解决方案/建议

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

  • 使用
    包含文档
    批量获取。(由于某些原因,这不适用于仅
    id
    rev
  • 然后将_deleted字段包含到每个文档中
  • 使用
    executebulk
    发布
  • 它对某些文档有效,但对某些文档不断获取文档更新冲突


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

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

    List<Object> bulkDocs = ...
    MyClass toBeDeleted = ...
    
    bulkDocs.add(BulkDeleteDocument.of(toBeDeleted));
    
    db.executeBulk(bulkDocs);
    
    List bulkDocs=。。。
    MyClass toBeDeleted=。。。
    bulkDocs.add(BulkDeleteDocument.of(toBeDeleted));
    db.executeBulk(bulkDocs);
    
    如果您只需要一种批量删除/更新文档的方法,而不需要在自己的软件中实现,您可以使用great couchapp,网址为:

    您需要将其上载到您自己的服务器,并使用以下功能

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

    阅读并

    谢谢亨里克!无论哪种方式,看起来我们都必须包括文档,即使是删除。我希望如果我们只提供id和rev,它也能工作。生成的json文档将只包含id、rev和_deletedfieldsOH…您是指bulkDocs还是删除后的结果文档。。因为我试图大量删除,并使用http客户端进行查询,所以如果我包含文档,它只会严重影响性能。。。因此,我们正在寻找一种将响应和请求有效负载降至最低的方法。。。。无论如何,谢谢你的信息!