基于文档值的CouchDB批量更新

时间:2013-10-26 20:06:56

标签: couchdb

我想更新doc.type = "article"所有文件。

据我所知,_bulk_docs适用于所有文件。要缩小受影响的文档,可以使用键值/范围。

这并不理想,因为我在数据库中有不同类型的文档。我希望我可以更新视图返回的所有文档但是接缝不可能(如果我错了请纠正我。)

我能想到的唯一解决方案是为所有键添加文档类型前缀,但这是一种合理的方法吗?

2 个答案:

答案 0 :(得分:2)

在CouchDB中无法做到这一点。此外,这样做没有多大意义,因为在CouchDB中,您只能更新整个文档,而不仅仅是某些属性。因此,如果您有可能实现您想要的目标,那么它将使所有文档完全相同。

答案 1 :(得分:1)

你可以

  • 获取doc.type == "article"的所有文档 - 您可能会使用此视图
  • 在本地进行所有修改
  • 使用_bulk_docs
  • 上传所有文档

如果符合条件的文档数量太大而无法放入单个请求中,则必须向_bulk_docs发出多个请求。这样做可能会引入您之后必须解决的冲突。