Couchdb 更新一大组文档

Couchdb 更新一大组文档,couchdb,Couchdb,couchdb中是否有任何方法可以更新符合特定条件的所有文档?(例如,创建新字段并根据文档中的其他数据将值设置为其他值) 我意识到,如果“新”数据在功能上可以从现有数据派生,那么从技术上讲,您可以通过新视图来完成这一点,而不必更改文档,但我需要使用基本相同的操作来更新几千个文档。您可以使用批量文档api: 但是你需要先得到所有的文档,然后再提交回来 或者一个文档更新处理程序:但您至少需要知道一个文档id列表,并对每个id执行一个请求 无论哪种方式,都没有什么能像sql那样发出update/whe

couchdb中是否有任何方法可以更新符合特定条件的所有文档?(例如,创建新字段并根据文档中的其他数据将值设置为其他值)


我意识到,如果“新”数据在功能上可以从现有数据派生,那么从技术上讲,您可以通过新视图来完成这一点,而不必更改文档,但我需要使用基本相同的操作来更新几千个文档。

您可以使用批量文档api: 但是你需要先得到所有的文档,然后再提交回来

或者一个文档更新处理程序:但您至少需要知道一个文档id列表,并对每个id执行一个请求

无论哪种方式,都没有什么能像sql那样发出update/where语句

仅供参考:此链接似乎没有显示您所指的内容

以防有人像我一样陷入困境。我用过Arc或者邮递员,如果你愿意的话。首先做一个
GET/{database\u name}/\u all\u文档然后当您收到返回的文档时:例如

{
    "total_rows": 7,
     "offset": 0,
      "rows": [
          {
            "id": "16726115a28ba714ce4fddbcf2ce730d",
             "key": "16726115a28ba714ce4fddbcf2ce730d",
             "value": {
                "rev": "1-7d72992fabc85621165b4c0b68b45fac"
                }
            } 
}
然后在数据中添加一行,使用正文向/{database_name}/\u bulk_文档发送帖子:
{
“文件”:[
{
“id”:“4b4c709d04483f2b94cbef30cff2430e”,
“键”:“4b4c709d04483f2b94cbef30cff2430e”,
“价值”:{
“修订版”:“13-ebd31862b44ad2d4753147d41737d478”
},
“_deleted”:真
}
]
}


你可以用任何语言做同样的事情。希望它能帮助其他人。

欢迎链接到解决方案,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及为什么存在,然后引用您链接到的页面的最相关部分,以防目标页面不可用。