MongoDB przechowuje swoje dane w formacie BSON (binarny JSON), więc jeśli konwertujesz do formatu tekstowego, powinieneś być świadomy potencjalnych problemów z wiernością typów danych. Jeśli chcesz mieć spójną kopię zapasową bazy danych MongoDB, zalecanym formatem będzie binarne wyjście mongodump
. Nie zalecałbym jednak nadużywania repozytorium git binarnymi kopiami zapasowymi bazy danych.
Zazwyczaj jednym z wyzwalających aspektów bazy danych z elastycznością schematu jest nie martwienie się o migracje schematów podczas rozwoju. Wymaga to pewnego rozważenia, w jaki sposób Twoja aplikacja będzie obsługiwać różne wersje schematu, więc zastosowanie bardziej kontrolowanego podejścia jest również w porządku.
Ponieważ Twoim głównym celem jest utrzymanie synchronizacji schematu bazy danych ze zmianami w kodzie, znacznie lepszym podejściem byłoby zbadanie narzędzi do migracji schematów. Zwykle umożliwiają one tworzenie fragmentów kodu uaktualnienia/obniżenia wersji ze zdefiniowaną kolejnością aplikacji do bazy danych i zapewniają, że wszelkie zmiany w schemacie bazy danych, które nie są obsługiwane przez kod aplikacji, są przechwycone w skryptach migracji.
Kilka przykładowych narzędzi:
- migracja mongo (NodeJS)
- Mongeez (Java)