title: CouchDB versioning strategy
body: <p>Would the following be a viable strategy for implementing versioning(using "example" as a sample document type):</p>
  
  <p>Have one original document where the type field is named example_original.</p>
  
  <p>Subsequent changes to the document all have type example_change and the id of example_original document as a key. The change would also carry a timestamp.</p>
  
  <p>Keep one doc with type example_current that is the result of example_original with all example_change "applied". A new example_change document would automatically be applied to this document.</p>
  
  <p>Finding a specific version would consist in retrieving the example_original doc and applying the desired changes (mostly up to a certain timestamp, but it could also be a number of changes).</p>
  
  <p>I should mention that my use-case will involve a limited number of changes to the original. Most updates will consist of new original documents. While this is my current use-case I would also be interested in issues that would result if many changes where involved.</p>
  
  <p>What pros and cons do you see in this approach?</p>