Sau đây là chiến lược khả thi để thực hiện phiên bản (sử dụng "ví dụ" làm loại tài liệu mẫu):Chiến lược phiên bản CouchDB
Có một tài liệu gốc nơi trường loại được đặt tên example_original.
Các thay đổi tiếp theo đối với tài liệu đều có example_change và id của tài liệu example_original làm khóa. Thay đổi cũng sẽ mang dấu thời gian.
Giữ một tài liệu với loại example_current là kết quả của example_original với tất cả example_change "apply". Một tài liệu example_change mới sẽ tự động được áp dụng cho tài liệu này.
Tìm phiên bản cụ thể sẽ bao gồm việc truy xuất tài liệu example_original và áp dụng các thay đổi mong muốn (chủ yếu là đến một dấu thời gian nhất định, nhưng cũng có thể là một số thay đổi).
Tôi nên đề cập đến trường hợp sử dụng của tôi sẽ liên quan đến một số thay đổi giới hạn đối với bản gốc. Hầu hết các cập nhật sẽ bao gồm các tài liệu gốc mới. Trong khi đây là trường hợp sử dụng hiện tại của tôi, tôi cũng sẽ quan tâm đến các vấn đề có thể xảy ra nếu có nhiều thay đổi liên quan.
Bạn thấy ưu và nhược điểm nào trong phương pháp này?
Bạn đang cố gắng phiên bản nội dung tài liệu hoặc cấu trúc tài liệu? – Dokie
Chỉ nội dung. Các trường sẽ không bao giờ bị xóa chỉ được thêm vào. – mac