使用CouchDB PUT更改文档的一部分

11

阅读文档(并通过软件进行测试),似乎PUT命令将替换整个现有文档(创建一个新版本,其中包括仅在PUT命令中发送的内容)。是否有方法可以更新文档的一部分?

例如,假设POST命令创建了以下JSON对象的文档:

{"name" : "Chuck"}

然后在相同文档ID上进行PUT命令会添加:

{"lastname" : "Norris"}

有没有办法让CouchDB返回两个版本的组合,而不仅仅是最新的更新?否则,对文档进行任何更改都需要检索完整的文档,并将完整的(更新后的)文档发送回去。

1个回答

10

你可以尝试查看文档更新处理程序:当应用程序从 PUT 更新处理程序时,相关的JavaScript函数将会被调用,并附带服务器上现有的文档数据和应用程序发送的数据,使其能够适当地合并这两个数据片段。


虽然上面的答案提供了一般概述,但是这个页面提供了具体细节(和示例!)关于如何做到OP所请求的:https://wiki.apache.org/couchdb/Partial_Updates - Mike Hedman
请考虑更新到最新资源的链接,整个维基已经过时了(在他们的首页上也有提到)。 - sab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接