2012-07-01 15 views
47

CouchDB Replication and Conflicts wiki页面建议使用_bulk_docsall_or_nothing=true强制写入文档的新版本,即使在写入时引入冲突,但随后在后续读取时立即解析。我已经实现了这一点,在概念上它似乎工作正常。处理由BigCouch中的复制引起的冲突

但BigCouch不支持all_or_nothing语义,因此写入批量文档可能会返回409个冲突结果。对BigCouch中的复制引入的冲突实施类似的应用程序级冲突解决方案的最佳做法是什么?我应该看看写入时冲突解决方案吗?

+0

**** ****蟋蟀哎呀 –

+0

,我问了一个与C#无关的问题。 – akent

+0

这可能有点问题。如果您希望我们可以在chat.SO [CouchDB和Couchbase](http://chat.stackoverflow.com/rooms/11630/couchdb-and-couchbase)聊天室中进行快速聊天。 –

回答

1

获取到,如果有附件时的冲突,情况发生冲突的递归调用,更新文件的版本号

$url = "http://couchdb/DATABASE/DOCID/ATTACHMENTNAME?rev=$rev"; 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_PUT, true); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_exec($ch); 
+0

我不确定附件与此有关。这看起来并不像我的解决方案。 – akent