estoy usando este comando
mongoimport --db nombre de la base de datos
para importar una base de datos que exporté usando mongoexport. La base de datos tiene más de 100 colecciones en la documentación de mongoimport que necesita para especificar el nombre de la colección y el archivo json. ¿Cómo hago para importar todas las colecciones a la vez sin tener que escribir un comando para cada colección?
Si los archivos de volcado están en .json, puede usar el script para importar
ls *.json | sed 's/.metadata.json//' | while read col; do mongoimport -d db_name -c $col < $col.metadata.json; doneSi los archivos de volcado están en .json.gz, puede usar el script para importar
ls *.gz | sed 's/.metadata.json.gz//' | while read col; do mongoimport -d db_name --gzip -c $col < $col.metadata.json.gz; doneSegún la documentación
Nuevo en la versión 2.6: si no especifica --collection, mongoimport toma el nombre de la colección del nombre del archivo de entrada. MongoDB omite la extensión del archivo del nombre de la colección, si el archivo de entrada tiene una extensión.
Entonces parece que se supone que debe importar una colección a la vez. Entonces, a menos que escriba un script de Shell para hacerlo, no veo la manera.
mongodump y mongorestore son mucho mejores para tomar el volcado completo de db y restaurarlo de una vez como dice la otra parte del mismo documento
Advertencia
Evite usar mongoimport y mongoexport para copias de seguridad de producción de instancias completas. No conservan de manera confiable todos los tipos de datos BSON enriquecidos, porque JSON solo puede representar un subconjunto de los tipos admitidos por BSON. Use mongodump y mongorestore como se describe en Métodos de respaldo de MongoDB para este tipo de funcionalidad.
Es muy sorprendente que no sea fácil encontrar documentación sobre la importación de múltiples colecciones. Restaurar una base de datos no siempre es una palabra clave intuitiva cuando la busca, pero eso es lo que desea hacer cuando desea restaurar una base de datos desde una copia de seguridad. Si ya tiene un volcado de colecciones que exportó con mongodump , debería poder usar mongorestore .
Esto es todo lo que realmente necesitas para ejecutar:
mongorestore --db db_name ./db_dumpfiles/