błąd mongorestore: nie wiem, co zrobić z plikiem zrzutu [zamknięte]

121

Mam zainstalowany mongo DB w następującej ścieżce c:\mongodb\bin. Skonfigurowałem moją zmienną środowiskową PATH w ustawieniach zaawansowanych.Mongod działa również.Po uruchomieniu następującego polecenia mongorestore dump z następującej ścieżki c:\hw1-1\dump(zawiera pliki BSON) otrzymuję ten błąd:

Nie wiem, co zrobić z plikiem zrzutu

Odniosłem się do tego wątku aby sprawdzić moją ścieżkę.

Prasanna Aarthi
źródło
Wszystkie odpowiedzi są różne, ponieważ cały ten błąd naprawdę oznacza, że ​​niektóre z twoich flag są nieprawidłowe. Które flagi są nieprawidłowe, zależy od tego, co przywracasz i gdzie je przywracasz. Użyj, mongodump --helpaby uzyskać listę aktualnych flag w Twojej instancji w celu debugowania tego problemu.
Liam

Odpowiedzi:

279

w mongodb 3.0 lub nowszym powinniśmy określić nazwę bazy danych do przywrócenia

mongorestore -d [your_db_name] [your_dump_dir]
clevertension
źródło
Używam systemu Windows w wersji 3.0.3 i podanie nazwy bazy danych zrobiło to za mnie! Dziękuję @clevertension.
Sotiris Zegiannis
Działał też jak urok w wersji 3.0.6.
sharmaap
To był problem, który miałem po aktualizacji mongodb-tools, dzięki!
emyller
2
To zadziałało dla mnie przy użyciu uwierzytelniania w następujący sposób:mongorestore -u k00k -p 1337p455w0rd -d mydb ./dump/mydb
k00k
To stara odpowiedź. W nowszych wersjach w wielu przypadkach nie można określić parametru --db( -d). Oto jak go obecnie przywracam: mongorestore --nsFrom=fromdbname.* --nsTo=todbname.* yourdumpfolder/Ponadto, gdy używałeś gzip, musisz podać --gzipparametr, a jeśli chcesz nadpisać rzeczy, możesz dodać --dropparametr.
Jos
36

Prawdopodobnie widziałeś ten błąd:

BŁĄD: nie wiem, co zrobić z plikiem [zrzut]

Co oznacza w tym przypadku, że dumpw twoim bieżącym katalogu roboczym nie ma pliku ani katalogu. Więc spróbuj najpierw tego cd c:/hw1-1/(lub jakiejkolwiek poprawnej składni w systemie Windows, nie mogę tego przetestować). Alternatywnie możesz podać pełną ścieżkę do dumpkatalogu:

mongorestore c:/hw1-1/dump
Mzzl
źródło
dziękuję c: / hw1-1 mongorestore dump działa dobrze ..
Prasanna Aarthi
9

Jeśli używasz mongoexport do tworzenia zrzutu, pamiętaj, aby go używać, mongoimporta nie mongorestoreładować.

punkrockpolly
źródło
tak, to była dla mnie magiczna różdżka, odkąd użyłem mongoexport. tnx
SYCODE
5

Ten komunikat o błędzie „nie wiem, co zrobić z plikiem” może również wystąpić, jeśli masz plik BSON, który nie ma rozszerzenia .bson.

Generalnie nie jest to problem, ponieważ mongodumpgeneruje pliki z rozszerzeniami .bson, ale w moim przypadku miałem plik BSON, który nie został wygenerowany przez mongodumpi miał inne rozszerzenie pliku.

helmy
źródło
2
i jak przywrócić plik bez rozszerzenia .bson? (.rdb w moim przypadku)
eagor
Otrzymuję ten błąd na nieprzydatne pliki z tym .bsonrozszerzeniem:don't know what to do with file "dump/mydb/users.bson", skipping...
Dan Dăscălescu
2

Jestem włączony version 3.2 windowsi mójmongorestore wygląda na to, że mam błąd:

Jeśli określę /db:database_namelub /d database_nameotrzymam błąd:

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

Zamiast tego, jeśli pozwolę mu działać w całym katalogu zrzutu, wydaje się, że działa. Polecenie, którego użyłem, to:

mongorestore /host:remote_host dump

Moja aktualna struktura katalogów to:

.
..
dump
dump\database_name
Anton Wolkov
źródło
1

Otrzymałem ten błąd, gdy miałem kolekcję pasującą do nazwy tej, którą próbowałem przywrócić obecną w Mongo, w końcu wszedłem do Mongo i usunąłem ją za pomocą db.m101.drop ();

Donovan Thomson
źródło
0

Zajęło mi trochę czasu, zanim wymyśliłem opcje dla mongorestore, po tym, jak przez jakiś czas otrzymywałem ten błąd.

a) Brak uruchomionych instancji mongod.

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

Użycie dbpath umożliwia uruchomienie tej komendy bez żadnej działającej wersji mongod. I to rozwiązało mój błąd.

Roshan Khandelwal
źródło