Ответ 1
в mongodb 3.0 или выше, мы должны указать имя базы данных для восстановления
mongorestore -d [your_db_name] [your_dump_dir]
У меня установлен Mongo DB по следующему пути c:\mongodb\bin
. Я настроил переменную окружения PATH в расширенных настройках. У меня также работает mongod. Когда я запускаю следующую команду mongorestore dump из следующего пути c:\hw1-1\dump
(Это содержит файлы BSON), я получаю эта ошибка:
Не знаю, что делать с файлом дампа
Я ссылался на этот поток, чтобы проверить мой путь.
в mongodb 3.0 или выше, мы должны указать имя базы данных для восстановления
mongorestore -d [your_db_name] [your_dump_dir]
Вероятно, вы видели эту ошибку:
ОШИБКА: не знаю, что делать с файлом [dump]
Это означает, что в этом случае нет файла или каталога с именем dump
в текущем рабочем каталоге. Итак, попробуйте первый cd c:/hw1-1/
(или какой бы то ни было правильный синтаксис в Windows, я не могу его протестировать.) Также вы можете указать полный путь к каталогу dump
:
mongorestore c:/hw1-1/dump
Это сообщение об ошибке "не знаю, что делать с файлом" также может возникнуть, если у вас есть файл BSON, у которого нет расширения .bson.
Как правило, это не проблема, поскольку mongodump
создает файлы с расширениями .bson, но в моем случае у меня был BSON файл, который не был сгенерирован mongodump
и имел другое расширение файла.
Если вы используете mongoexport
для создания дампа, обязательно используйте mongoimport
, а не mongorestore
, чтобы загрузить его.
Я получил эту ошибку, когда у меня была коллекция, соответствующая имени той, которую я пыталась восстановить, присутствующая в Mongo, в результате попала в Mongo и удалила ее, используя db.m101.drop();
Я нахожусь на 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
Мне потребовалось некоторое время, чтобы разобраться в вариантах 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. И это решило мою ошибку.