Exportieren einer Collection nach JSON
In diesem ersten Schritt lernen Sie den grundlegenden Prozess des Exports einer MongoDB-Collection in eine JSON-Datei. JSON (JavaScript Object Notation) ist ein Standardformat, das die reichhaltige, verschachtelte Struktur von MongoDB-Dokumenten beibehält und es somit ideal für Backups und Migrationen macht.
Zuerst müssen Sie sich mit dem MongoDB-Server verbinden und einige Beispieldaten erstellen. Öffnen Sie die MongoDB Shell, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
mongosh
Sobald Sie sich in der MongoDB Shell befinden, sehen Sie eine neue Eingabeaufforderung. Erstellen Sie nun eine neue Datenbank namens exportlab, wechseln Sie zu dieser und fügen Sie drei Dokumente in eine users-Collection ein.
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" }
]);
Nachdem die Dokumente eingefügt wurden, sehen Sie eine Bestätigungsnachricht. Beenden Sie nun die MongoDB Shell, um zu Ihrem normalen Terminal zurückzukehren.
exit;
Nachdem die Daten vorhanden sind, können Sie nun das Dienstprogramm mongoexport verwenden, um die users-Collection zu exportieren. Dieser Befehl gibt die Datenbank, die Collection und die Ausgabedatei an.
mongoexport --db=exportlab --collection=users --out=$HOME/project/users.json
--db: Gibt die zu verbindende Datenbank an (exportlab).
--collection: Gibt die zu exportierende Collection an (users).
--out: Gibt den Pfad und Dateinamen für die Ausgabedatei an ($HOME/project/users.json).
Um den erfolgreichen Export zu bestätigen, zeigen Sie den Inhalt der neu erstellten JSON-Datei an.
cat ~/project/users.json
Sie sehen die drei eingefügten Dokumente, jeweils in einer neuen Zeile im JSON-Format. Dieses Format wird JSONL (JSON Lines) genannt, wobei jede Zeile ein separates, vollständiges JSON-Objekt enthält. Beachten Sie, dass MongoDB jedem Dokument ein eindeutiges Feld _id hinzufügt.
{"_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"}