2012-07-01 24 views
47

Trang wiki CouchDB Replication and Conflicts gợi ý sử dụng _bulk_docs với all_or_nothing=true để cưỡng bức ghi các phiên bản tài liệu mới ngay cả khi giới thiệu xung đột về ghi, nhưng sau đó giải quyết ngay sau lần đọc tiếp theo. Tôi đã thực hiện điều này và khái niệm nó có vẻ làm việc OK.Xử lý các xung đột gây ra bằng cách sao chép trong BigCouch

Nhưng BigCouch không hỗ trợ all_or_nothing ngữ nghĩa để ghi tài liệu hàng loạt có thể trả lại 409 kết quả xung đột. Cách tốt nhất để triển khai giải pháp xung đột cấp ứng dụng tương tự cho các xung đột được giới thiệu bằng cách nhân rộng trong BigCouch là gì? Tôi có nên xem xét giải quyết xung đột thời gian viết thay thế không?

+0

**** dế **** –

+0

Rất tiếc, tôi hỏi một câu hỏi không phải về C#. – akent

+0

Đó có thể là một vấn đề. Nếu bạn muốn chúng tôi có thể có một cuộc trò chuyện nhanh trong cuộc trò chuyện. [CouchDB và Couchbase] (http://chat.stackoverflow.com/rooms/11630/couchdb-and-couchbase) phòng chat. –

Trả lời

1

Nhận số phiên bản của tài liệu để được cập nhật nếu có sự mâu thuẫn trong tập tin đính kèm và đệ quy gọi trong trường hợp có mâu thuẫn,

$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

Tôi không chắc chắn các tệp đính kèm phải làm gì với điều này. Điều này không giống như một giải pháp cho tôi. – akent

Các vấn đề liên quan