Подтвердить что ты не робот

Как импортировать сгруженный Mongodb?

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

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

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

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

$ 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? Что я хотел бы загрузить или что я хочу использовать в качестве теста? Я хотел бы импортировать полный DB не только его сбор.

4b9b3361

Ответ 1

Другим символом 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.

Ответ 2

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

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

Ответ 3

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

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