Exportation d'une collection en JSON
Dans cette première étape, vous apprendrez le processus fondamental d'exportation d'une collection MongoDB vers un fichier JSON. JSON (JavaScript Object Notation) est un format standard qui préserve la structure riche et imbriquée des documents MongoDB, ce qui le rend idéal pour les sauvegardes et les migrations.
Tout d'abord, vous devez vous connecter au serveur MongoDB et créer des données d'exemple. Ouvrez le Shell MongoDB en exécutant la commande suivante dans votre terminal :
mongosh
Une fois que vous êtes dans le Shell MongoDB, vous verrez une nouvelle invite. Maintenant, créez et basculez vers une nouvelle base de données nommée exportlab, et insérez trois documents dans une collection users.
use exportlab
db.users.insertMany([
{ name: "Alice", age: 28, email: "alice@example.com", status: "active" },
{ name: "Bob", age: 35, email: "bob@example.com", status: "active" },
{ name: "Charlie", age: 42, email: "charlie@example.com", status: "inactive" }
]);
Après l'insertion des documents, vous verrez un message de confirmation. Maintenant, quittez le Shell MongoDB pour revenir à votre terminal habituel.
exit;
Une fois les données en place, vous pouvez maintenant utiliser l'utilitaire mongoexport pour exporter la collection users. Cette commande spécifie la base de données, la collection et le fichier de sortie.
mongoexport --db=exportlab --collection=users --out=$HOME/project/users.json
--db: Spécifie la base de données à laquelle se connecter (exportlab).
--collection: Spécifie la collection à exporter (users).
--out: Spécifie le chemin et le nom du fichier de sortie ($HOME/project/users.json).
Pour confirmer que l'exportation a réussi, affichez le contenu du fichier JSON nouvellement créé.
cat ~/project/users.json
Vous verrez les trois documents que vous avez insérés, chacun sur une nouvelle ligne au format JSON. Ce format est appelé JSONL (JSON Lines), où chaque ligne contient un objet JSON distinct et complet. Notez que MongoDB ajoute un champ _id unique à chaque document.
{"_id":{"$oid":"656f1a6b..."},"name":"Alice","age":28,"email":"alice@example.com","status":"active"}
{"_id":{"$oid":"656f1a6b..."},"name":"Bob","age":35,"email":"bob@example.com","status":"active"}
{"_id":{"$oid":"656f1a6b..."},"name":"Charlie","age":42,"email":"charlie@example.com","status":"inactive"}