CouchDB Replication and Conflicts维基页面建议使用_bulk_docs
和all_or_nothing=true
强制写入新版本的文档,即使这会在写入时引入冲突,但在后续读取后不久即可解决。我已经实现了这一点,从概念上看,它似乎工作得很好。
但是BigCouch不支持all_or_nothing
语义,所以写入批量文档可能会返回409个冲突结果。对于由BigCouch中的复制引入的冲突,实现类似的应用程序级冲突解决方案的最佳实践是什么?我应该关注写时冲突解决吗?
发布于 2013-06-07 20:13:15
如果附件中存在冲突,则获取待更新的文档的修订号,如果发生冲突,则递归调用。
$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 );
https://stackoverflow.com/questions/11279382
复制相似问题