MongoDB: Экспорт и импорт данных с mongodump и mongoexport

MongoDB предоставляет набор утилит для управления данными: mongodump, mongoexport, mongoimport и mongorestore. Эти утилиты являются отдельными приложениями и не требуют запуска mongo shell.

mongoexport и mongodump

Рассмотрим утилиты mongoexport и mongodump на примерах. Перейдём в директорию «Рабочий стол» в терминале.

mongoexport

Утилита mongoexport экспортирует данные из коллекции. Формат команды:

mongoexport -d <имя_базы_данных> -c <имя_коллекции> -o <имя_файла>

Пример: экспорт коллекции posts из базы данных forum в файл posts.txt:

mongoexport -d forum -c posts -o posts.txt

Результат: успешное подключение к localhost и экспорт данных. Файл posts.txt содержит данные в формате JSON. Вместо ObjectId используется $oid, так как экспорт выполняется как обычный JSON, а не расширенный JSON, полностью соответствующий стандарту.

mongodump

Утилита mongodump создаёт дамп базы данных. Формат команды:

mongodump -d <имя_базы_данных>

Пример: создание дампа базы данных forum:

mongodump -d forum

Результат: создание на рабочем столе папки dump, содержащей папки с именами баз данных. Внутри находятся файлы *.bson (данные в бинарном формате BSON) и *.metadata.json (метаданные, включая информацию об индексах).

Просмотр файла *.bson

Для просмотра *.bson файла используем hexdump.

Перейдём в директорию с дампом:

cd desktop/dump/forum

И выполним команду:

hexdump post.bson

Результат – вывод бинарных данных в шестнадцатеричном формате. Опция -C обеспечивает более читаемый вывод с попыткой интерпретации ASCII-кодов. В выводе видны фрагменты документов и типы данных (например, строка обозначается 00).

Утилиты mongoexport и mongodump позволяют эффективно экспортировать и создавать резервные копии данных MongoDB. mongodump использует бинарный формат BSON, обеспечивающий эффективное хранение.

Что будем искать? Например,программа