Как импортировать сброшенный Mongodb? - PullRequest
19 голосов
/ 09 ноября 2011

Успешно сгенерировал 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?Что я хотел бы загрузить или что я хочу использовать в качестве теста там?Я хотел бы импортировать полную БД, а не только ее коллекцию.

Ответы [ 3 ]

35 голосов
/ 09 ноября 2011

Аналог 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.

3 голосов
/ 07 мая 2015

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

mongoimport -h localhost:27017 --authenticationDatabase admin -u user -p -d database -c collection --type csv --headerline --file awesomedata.csv 
3 голосов
/ 09 ноября 2011

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

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

...