Как импортировать дамп Mongodb?

Успешно сбросил MongoDB:

$ mongodump -h ourhost.com:portnumber -d db_name01 -u username -p

Мне нужно импортировать или экспортировать его на тестовый сервер и с этим бороться, пожалуйста, помогите мне разобраться.

Я пробовал несколько способов:

$ mongoimport -h host.com:port -c dbname -d dbname_test -u username -p
connected to host.
Password: ...

Выдает эту ошибку:

assertion: 9997 auth failed: { errmsg: "auth fails", ok: 0.0 }

$ mongoimport -h host.com:port -d dbname_test -u username -p

Выдает эту ошибку:

no collection specified!

Как указать, какую коллекцию использовать? Что я должен использовать для -d? Что я хотел бы загрузить или что я хочу использовать в качестве теста? Я хотел бы импортировать полную БД, а не только ее коллекцию.


person YogiZoli    schedule 09.11.2011    source источник


Ответы (4)


Аналогом mongodump является mongorestore (а аналогом mongoimport является mongoexport) -- основное различие заключается в формате файлов, созданных и понятых инструментами (dump и restore чтение и запись BSON; export и import относятся к текстовым форматам файлов: JSON, CSV, TSV.

Если вы уже запускали mongodump, у вас должен быть каталог с именем dump, с подкаталогом для каждой базы данных, для которой был создан дамп, и файл в этих каталогах для каждой коллекции. Затем вы можете восстановить это с помощью команды, например:

mongorestore -h host.com:port -d dbname_test -u username -p password dump/dbname/

Предположим, что вы хотите поместить содержимое базы данных dbname в новую базу данных с именем dbname_test.

person dcrosta    schedule 09.11.2011

Возможно, вам придется указать базу данных аутентификации

mongoimport -h localhost:27017 --authenticationDatabase admin -u user -p -d database -c collection --type csv --headerline --file awesomedata.csv 
person Ricky Sahu    schedule 07.05.2015

Когда вы делаете mongodump, он выгружается в двоичном формате. Вам нужно использовать mongorestore для «импорта» этих данных.

Mongoimport предназначен для импорта данных, которые были экспортированы с помощью mongoexport

person Bryan Migliorisi    schedule 09.11.2011

Для кого-то еще может возникнуть этот вопрос после всех этих лет (как и я), и если вы используете

  • дамп, созданный с помощью mongodump
  • и пытаюсь восстановить из каталога dump
  • и будет использоваться порт по умолчанию 27017

Все, что вам нужно сделать, это,

mongorestore dump/

Дополнительную информацию см. в документе mongorestore. ваше здоровье!

person Gayan    schedule 03.06.2021