Erreur mongorestore: Je ne sais pas quoi faire avec le fichier de vidage [fermé]

121

J'ai installé mongo DB dans le chemin suivant c:\mongodb\bin. J'ai configuré ma variable d'environnement PATH dans les paramètres avancés.J'ai également mongod en cours d'exécution.Lorsque j'exécute la commande suivante, mongorestore dump à partir du chemin suivant c:\hw1-1\dump(il contient les fichiers BSON), j'obtiens cette erreur:

Je ne sais pas quoi faire avec le fichier de vidage

J'ai fait référence à ce fil pour vérifier mon chemin.

Prasanna Aarthi
la source
Toutes les réponses sont différentes car toute cette erreur signifie en réalité que certains de vos drapeaux sont incorrects. Les indicateurs incorrects dépendront de ce que vous restaurez et de l'endroit où vous le restaurez. Utilisez mongodump --helppour obtenir une liste des indicateurs actuels sur votre instance pour déboguer ce problème.
Liam

Réponses:

279

dans mongodb 3.0 ou supérieur, nous devons spécifier le nom de la base de données à restaurer

mongorestore -d [your_db_name] [your_dump_dir]
clevertension
la source
J'utilise Windows version 3.0.3 et la spécification du nom de la base de données l'a fait pour moi! Merci @clevertension.
Sotiris Zegiannis
A fonctionné comme un charme sur 3.0.6 aussi.
sharmaap
C'était le problème que j'ai eu après la mise à niveau mongodb-tools, merci!
emyller
2
Cela a fonctionné pour moi en utilisant l'authentification comme mongorestore -u k00k -p 1337p455w0rd -d mydb ./dump/mydb
suit
C'est une vieille réponse. Dans les versions plus récentes, vous ne pouvez pas spécifier le paramètre --db( -d) dans de nombreux cas. Voici comment je le restaure actuellement: mongorestore --nsFrom=fromdbname.* --nsTo=todbname.* yourdumpfolder/De plus, lorsque vous avez utilisé gzip, vous devez fournir le --gzipparamètre et si vous souhaitez remplacer des éléments, vous pouvez ajouter le --dropparamètre.
Jos
36

Vous avez probablement vu cette erreur:

ERREUR: je ne sais pas quoi faire avec le fichier [dump]

Ce qui signifie dans ce cas, qu'il n'y a pas de fichier ou de répertoire appelé dumpdans votre répertoire de travail actuel. Alors, essayez ceci en premier cd c:/hw1-1/(ou quelle que soit la syntaxe correcte sous Windows, je ne peux pas la tester.) Sinon, vous pouvez spécifier le chemin complet du dumprépertoire:

mongorestore c:/hw1-1/dump
Mzzl
la source
merci c: / hw1-1 mongorestore dump fonctionne très bien ..
Prasanna Aarthi
9

Si vous utilisez mongoexportpour créer le vidage, assurez-vous de l'utiliser mongoimportplutôt que mongorestorede le charger.

punkrockpolly
la source
ouais, c'était la baguette magique pour moi depuis que je l'ai utilisée mongoexport. tnx
SyCode
5

Ce message d'erreur «Je ne sais pas quoi faire avec le fichier» peut également se produire si vous avez un fichier BSON qui n'a pas d'extension de fichier .bson.

Généralement, ce n'est pas un problème car mongodumpgénère les fichiers avec des extensions .bson, mais dans mon cas, j'avais un fichier BSON qui n'a pas été généré par mongodumpet qui avait une extension de fichier différente.

Helmy
la source
2
et comment restaurer le fichier sans l'extension .bson? (.rdb dans mon cas)
eagor
.bsondon't know what to do with file "dump/mydb/users.bson", skipping...
J'obtiens
2

Je suis sur version 3.2 windowset monmongorestore semble avoir un bug:

Si je spécifie /db:database_nameou /d database_namej'obtiens l'erreur:

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

Au lieu de cela, si je le laisse fonctionner sur tout le répertoire de vidage, cela semble fonctionner. La commande que j'ai utilisée est:

mongorestore /host:remote_host dump

Ma structure de répertoires actuelle est:

.
..
dump
dump\database_name
Anton Wolkov
la source
1

J'ai eu cette erreur quand j'avais une collection correspondant au nom de celle que j'essayais de restaurer présente dans Mongo a fini par entrer dans Mongo et la supprimer en utilisant db.m101.drop ();

Donovan Thomson
la source
0

Il m'a fallu un certain temps pour comprendre les options pour mongorestore, après avoir continué à recevoir cette erreur pendant un certain temps.

a) Aucune instance en cours d'exécution de mongod.

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

L'utilisation de dbpath permet d'exécuter cette commande sans aucune version en cours d'exécution de mongod. Et cela a résolu mon erreur.

Roshan Khandelwal
la source