Экспорт коллекции в JSON
На этом первом этапе вы изучите основной процесс экспорта коллекции MongoDB в файл JSON. JSON (JavaScript Object Notation) — это стандартный формат, который сохраняет богатую, вложенную структуру документов MongoDB, что делает его идеальным для резервного копирования и миграции.
Сначала вам нужно подключиться к серверу MongoDB и создать некоторые образцы данных. Откройте MongoDB Shell, выполнив следующую команду в вашем терминале:
mongosh
Как только вы окажетесь внутри MongoDB Shell, вы увидите новый приглашение. Теперь создайте и переключитесь на новую базу данных с именем exportlab и вставьте три документа в коллекцию 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" }
]);
После вставки документов вы увидите подтверждающее сообщение. Теперь выйдите из MongoDB Shell, чтобы вернуться в обычный терминал.
exit;
После того как данные будут на месте, вы можете использовать утилиту mongoexport для экспорта коллекции users. Эта команда указывает базу данных, коллекцию и выходной файл.
mongoexport --db=exportlab --collection=users --out=$HOME/project/users.json
--db: Указывает базу данных для подключения (exportlab).
--collection: Указывает коллекцию для экспорта (users).
--out: Указывает путь и имя файла для выходного файла ($HOME/project/users.json).
Чтобы убедиться, что экспорт прошел успешно, просмотрите содержимое только что созданного файла JSON.
cat ~/project/users.json
Вы увидите три вставленных вами документа, каждый на новой строке в формате JSON. Этот формат называется JSONL (JSON Lines), где каждая строка содержит отдельный, полный объект JSON. Обратите внимание, что MongoDB добавляет уникальное поле _id к каждому документу.
{"_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"}