MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Maneira correta de lidar com alterações de esquema no MongoDB com driver java


Eu acho que você honestamente já sugeriu a resposta mais simples.

Primeiro, atualize sua camada de acesso a dados para lidar com o esquema novo e antigo:inserções e atualizações devem atualizar o novo e o antigo para manter as coisas em sincronia. As consultas devem olhar apenas para o esquema antigo, pois é a fonte de registro neste momento.

Em seguida, copie todos os dados do esquema antigo para o novo.

Em seguida, atualize o acesso aos dados para agora consultar os novos dados. Isso manterá os dados antigos atualizados, mas permitirá o teste completo dos novos dados antes de fazer qualquer alteração que resultará na dessincronização dos dois conjuntos de dados. Também ajudará a facilitar atualizações contínuas (ou seja, aplicativos com código de acesso a dados novo e antigo ainda funcionarão ao mesmo tempo.

Por fim, atualize a camada de acesso a dados para acessar apenas o novo esquema e, em seguida, exclua os dados antigos.

Exceto por este estágio final, você sempre pode reverter para a versão anterior caso encontre problemas.