基本问题
我有一些大型但有逻辑组织的文档 - 并且希望仅对单个文档的子部分执行更新。
例子
鉴于这个简单的文件:
_id: 123456,
_rev: 3242342,
name: 'Stephen',
type: 'Person',
hobbies: [ 'sky-diving' ]
在我的应用程序中,我可能有一个addHobbies方法,该方法将使用一个仅检索的视图:
_id: 123456,
_rev: 3242342,
hobbies: [ 'sky-diving' ]
这样它就可以在hobbies
数组中添加一个额外的爱好,然后将PUT
这个子集数据返回到文档中。
问题
据我了解,CouchDB [1.2] 不允许像这样的部分更新,因此我认为有必要在保存操作期间抓取整个文档,合并我的更改,然后在每次保存时PUT
将整个文档返回。
- 还有另一种方法吗(我对 CouchDB 的功能有误吗)?
- 是否有任何库(我在 node.js 上使用 express)来处理这种操作?