2014-07-17 29 views
0

比方说,我在CouchDB中有一个文档,两个用户可以同时访问该文档来编辑它。在CouchDB中同时处理更新文档?

我如何能处理的,因为如果该文档被更新的_rev号码将被改变,其他用户也救不了他的变化..

如何在同一文件由两个更新用户合并吗?

回答

0

您要么解决此客户端发送更新再次用新鲜_rev或(更好)写update handler function。更新处理程序将使用执行更新的用户提供的当前(最新)文档和参数作为参数。因为结果函数应该返回新文档或null。您可以将其视为服务器端更新。这样你不必担心_ver字段。

+0

我不明白这个更新处理函数的工作原理。你能详细解释一下吗? –

+0

更新处理程序是设计文档中的一个功能(与地图功能相同)。当您转到URL“/ DB_NAME/_design/DESIGN_NAME/_update/FUN_NAME/DOC_ID”时,它将被执行。 Couch将当前文档和请求数据(包括URL和主体中的其他参数)作为参数传递给函数。返回值是成对:新文档和对执行URL的用户的响应。查看[documentation](http://docs.couchdb.org/en/latest/couchapp/ddocs.html#update-functions)以及[wiki](http://wiki.apache.org)中的示例/ CouchDB的/ Document_Update_Handlers)。 –

+0

哪里应该写这个函数? –