Утилита mongoimport импортирует данные в MongoDB. Рассмотрим импорт JSON-данных в новую коллекцию и поведение при дубликатах ключей.
Подготовка к импорту
Пример использует файл mongoimport.txt с командами для mongoimport. Он содержит варианты команд для импорта в удаленный или локальный сервер, а также из JSON-массива или CSV-файла.
Импорт в новую коллекцию
Импортируем данные в коллекцию new_persons. Команда для удаленного сервера:
mongoimport --username <username> --password <password> --host <host> --db myDB --collection new_persons <путь_к_файлу>
<username>, <password>, <host> – учетные данные. myDB – база данных, new_persons – коллекция. <путь_к_файлу> – путь к файлу с данными.
Файл с данными
JSON-файл new_persons.json:
[
{ "name": "Bob", "age": 25 },
{ "name": "Alice", "age": 27 }
]
Запятые между документами в JSON-массиве необязательны.
Импорт и проверка
После выполнения команды mongoimport и перехода в директорию с new_persons.json, данные импортируются в new_persons. Проверка в Robo 3T (или другом GUI) показывает две записи с полями "name" и "age" (тип "age" – целое число).
Дубликаты ключей
Добавим в new_persons.json поля "_id" с одинаковыми значениями:
[
{ "name": "Bob", "age": 25, "_id": <значение_id> },
{ "name": "Alice", "age": 27, "_id": <значение_id> }
]
Повторный запуск mongoimport вызовет ошибку дублирующего ключа, и документы не импортируются. В коллекции останутся только первоначальные два документа.
mongoimport – простой и эффективный способ импорта данных в MongoDB. Обработка ошибок, например, дубликатов ключей, важна, и mongoimport с ней справляется.