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, обеспечивающий эффективное хранение.