在CouchDB中同时处理文档更新?

在CouchDB中同时处理文档更新?,couchdb,Couchdb,假设我在CouchDB中有一个文档,两个用户同时访问该文档进行编辑 我如何处理这个问题,因为如果文档被更新,修订号将被更改,而其他用户无法保存其更改 如何合并用户对同一文档所做的两次更新?您可以使用fresh\u rev解决此客户端再次发送更新的问题,或者(更好)编写更新。更新处理程序将执行更新的用户提供的当前(最新)文档和参数作为参数。结果函数应返回新文档或null。您可以将其视为服务器端就地更新。这样您就不必担心\u ver字段。我不明白这个更新处理程序函数是如何工作的。。您能详细解释一下吗

假设我在CouchDB中有一个文档,两个用户同时访问该文档进行编辑

我如何处理这个问题,因为如果文档被更新,修订号将被更改,而其他用户无法保存其更改


如何合并用户对同一文档所做的两次更新?

您可以使用fresh
\u rev
解决此客户端再次发送更新的问题,或者(更好)编写更新。更新处理程序将执行更新的用户提供的当前(最新)文档和参数作为参数。结果函数应返回新文档或null。您可以将其视为服务器端就地更新。这样您就不必担心
\u ver
字段。

我不明白这个更新处理程序函数是如何工作的。。您能详细解释一下吗?更新处理程序是设计文档中的一个函数(与映射函数相同)。当您转到URL
/DB\u NAME/\u design/design\u NAME/\u update/FUN\u NAME/DOC\u ID
时,它将被执行。coach将当前文档和请求数据(包括URL和body中的附加参数)作为参数传递给函数。返回值是一对:新文档和对执行URL的用户的响应。请看中的和示例。此函数应在何处编写?与其他函数在设计文档中的位置相同。请查看中的介绍性描述。带有设计文档的视图是CouchDB背后非常基本的概念,在进一步使用此系统之前,您应该了解它。我使用视图获取有关文档的信息或通过ID获取一些文档,但我不知道将此函数存储在何处。视图的Url是:_design/{design\u name}/_view/{view\u name}。如何进行更新?