MongoDB stocke ses données dans un format BSON (Binary JSON). Par conséquent, si vous effectuez une conversion vers un format texte uniquement, vous devez être conscient des problèmes potentiels de fidélité du type de données. Si vous souhaitez une sauvegarde cohérente de votre base de données MongoDB, le format recommandé serait la sortie binaire de mongodump
. Cependant, je ne recommanderais pas de gonfler votre référentiel git avec des sauvegardes de bases de données binaires.
Généralement, l'un des aspects libérateurs d'une base de données avec flexibilité de schéma n'est pas avoir à se soucier des migrations de schéma pendant le développement. Cela nécessite une réflexion sur la façon dont votre application gérera les différentes versions de schéma, donc avoir une approche plus contrôlée est également acceptable.
Étant donné que votre objectif principal est de maintenir la synchronisation de votre schéma de base de données avec les modifications de code, une bien meilleure approche serait d'étudier les outils de migration de schéma. Ceux-ci vous permettent généralement de créer des extraits de code de mise à niveau/rétrogradation avec un ordre défini d'application à une base de données et de garantir que toutes les modifications apportées au schéma de la base de données qui ne sont pas gérées par votre code d'application sont capturé dans les scripts de migration.
Quelques exemples d'outils :
- mongo-migrate (NodeJS)
- Mongeez (Java)