Ошибка mongorestore: не знаю, что делать с файлом дампа

У меня установлен Mongo DB по следующему пути c:\mongodb\bin. Я настроил переменную окружения PATH в расширенных настройках. У меня также работает mongod. Когда я запускаю следующую команду mongorestore dump из следующего пути c:\hw1-1\dump (Это содержит файлы BSON), я получаю эта ошибка:

Не знаю, что делать с файлом дампа

Я ссылался на этот поток, чтобы проверить мой путь.

Ответ 1

в mongodb 3.0 или выше, мы должны указать имя базы данных для восстановления

mongorestore -d [your_db_name] [your_dump_dir]

Ответ 2

Вероятно, вы видели эту ошибку:

ОШИБКА: не знаю, что делать с файлом [dump]

Это означает, что в этом случае нет файла или каталога с именем dump в текущем рабочем каталоге. Итак, попробуйте первый cd c:/hw1-1/ (или какой бы то ни было правильный синтаксис в Windows, я не могу его протестировать.) Также вы можете указать полный путь к каталогу dump:

mongorestore c:/hw1-1/dump

Ответ 3

Это сообщение об ошибке "не знаю, что делать с файлом" также может возникнуть, если у вас есть файл BSON, у которого нет расширения .bson.

Как правило, это не проблема, поскольку mongodump создает файлы с расширениями .bson, но в моем случае у меня был BSON файл, который не был сгенерирован mongodump и имел другое расширение файла.

Ответ 4

Если вы используете mongoexport для создания дампа, обязательно используйте mongoimport, а не mongorestore, чтобы загрузить его.

Ответ 5

Я получил эту ошибку, когда у меня была коллекция, соответствующая имени той, которую я пыталась восстановить, присутствующая в Mongo, в результате попала в Mongo и удалила ее, используя db.m101.drop();

Ответ 6

Я нахожусь на version 3.2 windows, и мой mongorestore кажется, имеет ошибку:

Если я укажу /db:database_name или /d database_name, я получу ошибку:

don't know what to do with subdirectory "dump\database_name", skipping...

Вместо этого, если я позволю ему запустить весь каталог дампа, он, похоже, сработает. Используемая мной команда:

mongorestore /host:remote_host dump

Моя текущая структура каталогов:

.
..
dump
dump\database_name

Ответ 7

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

a) Отсутствуют запущенные экземпляры mongod.

b) mongorestore -v -host localhost:27017 --dbpath "Actual Path for the Mongo DB- set in config" "Location where the dump is"

Использование dbpath позволяет запускать эту команду без какой-либо беговой версии mongod. И это решило мою ошибку.