O MongoDB armazena seus dados em um formato BSON (JSON binário), portanto, se você estiver convertendo para um formato somente texto, deve estar ciente dos possíveis problemas de fidelidade do tipo de dados. Se você deseja um backup consistente do seu banco de dados MongoDB, o formato recomendado seria a saída binária de
mongodump
. Eu não recomendaria inchar seu repositório git com backups de banco de dados binários. Normalmente, um dos aspectos liberadores de um banco de dados com flexibilidade de esquema não ter que se preocupar com migrações de esquema durante o desenvolvimento. Isso requer alguma consideração sobre como seu aplicativo lidará com várias versões de esquema, portanto, também é bom ter uma abordagem mais controlada.
Como seu objetivo principal é manter seu esquema de banco de dados sincronizado com as alterações de código, uma abordagem muito melhor seria investigar as ferramentas de migração de esquema. Eles normalmente permitem que você crie snippets de código de upgrade/downgrade com uma ordem definida de aplicativo para um banco de dados e garante que quaisquer alterações no esquema do banco de dados que não sejam tratadas pelo código do aplicativo sejam capturados nos scripts de migração.
Algumas ferramentas de exemplo:
- mongo-migrate (NodeJS)
- Mongeez (Java)