sql >> Base de Datos >  >> NoSQL >> MongoDB

Forma correcta de manejar los cambios de esquema en MongoDB con el controlador Java

Creo que honestamente ya has insinuado la respuesta más simple.

Primero, actualice su capa de acceso a datos para manejar tanto el esquema nuevo como el antiguo:las inserciones y actualizaciones deben actualizar tanto el nuevo como el antiguo para mantener las cosas sincronizadas. Las consultas solo deben mirar el esquema anterior, ya que es la fuente de registro en este punto.

Luego copie todos los datos del esquema antiguo al nuevo.

Luego actualice el acceso a los datos para consultar ahora los nuevos datos. Esto mantendrá los datos antiguos actualizados, pero permitirá una prueba completa de los nuevos datos antes de realizar cualquier cambio que resulte en que los dos conjuntos de datos no estén sincronizados. También ayudará a facilitar las actualizaciones continuas (es decir, las aplicaciones con código de acceso a datos nuevo y antiguo seguirán funcionando al mismo tiempo.

Finalmente, actualice la capa de acceso a datos para acceder solo al nuevo esquema y luego elimine los datos antiguos.

Excepto por esta etapa final, siempre puede retroceder a la versión anterior si encuentra problemas.