2012-07-01 20 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