error de mongorestore: no sé qué hacer con el archivo de volcado [cerrado]

121

Tengo mongo DB instalado en la siguiente ruta c:\mongodb\bin. He configurado mi variable de entorno PATH en configuraciones avanzadas.También tengo mongod en ejecución.Cuando ejecuto el siguiente comando mongorestore dump desde la siguiente ruta c:\hw1-1\dump(esto contiene los archivos BSON), aparece este error:

No sé qué hacer con el archivo de volcado

Me he referido a este hilo para comprobar mi camino.

Prasanna Aarthi
fuente
Todas las respuestas son diferentes porque todo este error realmente significa que algunas de sus banderas son incorrectas. Qué banderas son incorrectas dependerán de lo que restaure y de dónde lo restaure. Úselo mongodump --helppara obtener una lista de los indicadores actuales en su instancia para depurar este problema.
Liam

Respuestas:

279

en mongodb 3.0 o superior, debemos especificar el nombre de la base de datos para restaurar

mongorestore -d [your_db_name] [your_dump_dir]
clevertension
fuente
Estoy usando Windows versión 3.0.3 y especificando el nombre de la base de datos, ¡lo hice por mí! Gracias @clevertension.
Sotiris Zegiannis
Funcionó como un encanto en 3.0.6 también.
Sharmaap
Este fue el problema que tuve después de actualizar mongodb-tools, ¡gracias!
emyller
2
Esto funcionó para mí usando autenticación así:mongorestore -u k00k -p 1337p455w0rd -d mydb ./dump/mydb
k00k
Esta es una respuesta antigua. En versiones más recientes, no puede especificar el parámetro --db( -d) en muchos casos. Así es como lo restauro actualmente: mongorestore --nsFrom=fromdbname.* --nsTo=todbname.* yourdumpfolder/Además, cuando usó gzip, debe proporcionar el --gzipparámetro y si desea anular cosas, puede agregar el --dropparámetro.
Jos
36

Probablemente vio este error:

ERROR: no sé qué hacer con el archivo [volcado]

Lo que significa en este caso que no hay ningún archivo o directorio llamado dumpen su directorio de trabajo actual. Entonces, intente esto primero cd c:/hw1-1/(o cualquiera que sea la sintaxis correcta en Windows, no puedo probarlo). Alternativamente, puede especificar la ruta completa al dumpdirectorio:

mongorestore c:/hw1-1/dump
Mzzl
fuente
gracias c: / hw1-1 mongorestore dump funciona bien ..
Prasanna Aarthi
9

Si está utilizando mongoexportpara crear el volcado, asegúrese de utilizarlo en mongoimportlugar de mongorestorecargarlo.

punkrockpolly
fuente
sí, esta fue la varita mágica para mí desde que la usé mongoexport. tnx
SyCode
5

Este mensaje de error "no sé qué hacer con el archivo" también puede ocurrir si tiene un archivo BSON que no tiene una extensión de archivo .bson.

Generalmente esto no es un problema ya que mongodumpgenera los archivos con extensiones .bson, pero en mi caso tenía un archivo BSON que no fue generado por mongodumpy tenía una extensión de archivo diferente.

helmy
fuente
2
y ¿cómo se restaura el archivo sin la extensión .bson? (.rdb en mi caso)
eagor
Recibo este error inútil en archivos con la .bsonextensión:don't know what to do with file "dump/mydb/users.bson", skipping...
Dan Dascalescu
2

Estoy encendido version 3.2 windowsy mi mongorestoreparece tener un error:

Si especifico /db:database_nameo /d database_nameme sale el error:

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

En cambio, si dejo que se ejecute en todo el directorio de volcado, parece funcionar. El comando que utilicé es:

mongorestore /host:remote_host dump

Mi estructura de directorio actual es:

.
..
dump
dump\database_name
Anton Wolkov
fuente
1

Recibí este error cuando tuve una colección que coincidía con el nombre de la que estaba tratando de restaurar presente en Mongo y terminé yendo a Mongo y eliminándola usando db.m101.drop ();

Donovan Thomson
fuente
0

Me tomó algo de tiempo descubrir las opciones para mongorestore, después de haber seguido recibiendo este error durante algún tiempo.

a) No hay instancias en ejecución de mongod.

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

Usando dbpath, permite ejecutar este comando sin ninguna versión en ejecución de mongod. Y esto resolvió mi error.

Roshan Khandelwal
fuente