Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
CouchDB复制和冲突wiki 页面建议使用_bulk_docswithall_or_nothing=true强制写入新版本的文档,即使这会在写入时引入冲突,但在随后的读取后不久就会解决。我已经实现了这一点,从概念上讲它似乎工作正常。
_bulk_docs
all_or_nothing=true
但 BigCouch 不支持all_or_nothing语义,因此写入批量文档可能会返回 409 Conflict 结果。为 BigCouch 中的复制引入的冲突实施类似的应用程序级冲突解决方案的最佳实践是什么?我应该查看写入时冲突解决方案吗?
all_or_nothing
如果在附件过程中发生冲突,则获取要更新的文档的修订号,并在发生冲突时递归调用,
$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 );