estaría el siguiente ser una estrategia viable para la implementación de versiones (usando "ejemplo" como un tipo de documento muestra):estrategia de control de versiones CouchDB
Tener un documento original en el campo de tipo se denomina example_original.
Los cambios subsiguientes en el documento tienen todos el tipo example_change y el id del documento example_original como clave. El cambio también llevaría una marca de tiempo.
Guarde un documento con el tipo example_current que es el resultado de example_original con todo example_change "applied". Se aplicará automáticamente un nuevo documento de cambio de ejemplo a este documento.
Encontrar una versión específica consistiría en recuperar el documento original_original y aplicar los cambios deseados (principalmente hasta una determinada marca de tiempo, pero también podría ser una cantidad de cambios).
Debo mencionar que mi caso de uso implicará un número limitado de cambios en el original. La mayoría de las actualizaciones consistirán en nuevos documentos originales. Si bien este es mi caso de uso actual, también me interesarían los problemas que podrían surgir si se producen muchos cambios.
¿Qué pros y contras ves en este enfoque?
¿Está tratando de versionar el contenido del documento o la estructura del documento? – Dokie
Solo el contenido. Los campos nunca serán eliminados solo agregados. – mac