2011-03-31 17 views
61

he utilizado mongodump para volcar mi base de datos de mongodb, se crearon algunos archivos BSON bajo dump/mydb¿Cómo usar los datos volcados por mongodump?

Pero no saben cómo usarlos. Intenté mongoimport, pero parece que no puede importar datos bson. Entonces, ¿cómo usar estos archivos bson? ¿Cómo importarlos a otro mongodb?

Respuesta

60

Es necesario utilizar mongorestore, no mongoimport ... que se utiliza para cosas como la importación JSON o CSV, etc.

de los documentos back-up-with-mongodump:

mongodump lee datos de una base de datos MongoDB y crea archivos BSON de alta fidelidad, que la herramienta mongorestore puede utilizar para rellenar una base de datos MongoDB.

mongodump y mongorestore son herramientas simples y eficientes para realizar copias de seguridad y restauración de implementaciones pequeñas MongoDB, pero no son ideales para copias de seguridad de captura de sistemas más grandes.

Puede leer más sobre mongorestore en los documentos siguientes; Echaré un vistazo y leeré sobre ellos ya que son muy útiles.

http://www.mongodb.org/display/DOCS/Import+Export+Tools#ImportExportTools-mongorestore

también se puede comprobar a cabo http://learnmongo.com para obtener consejos y ayuda!

6

Utilice mongorestore. mongoimport funciona en la salida de mongoexport. mongodump & trabajo mongorestore en los archivos de datos binarios, mientras que el trabajo de importación/exportación de JSON, CSV, etc .. (formatos legibles por humanos)

36

Estoy usando mongodump, mongorestore para las copias de seguridad diarias y la restauración de la copia de seguridad. Tengo dos .bat archivos:
En primer lugar, para copia de seguridad, donde se necesita simplemente especificar nombre de host de base de datos y la carpeta de copia de seguridad:

SET host=localhost:27020 
SET dbNameToDump=MyDB 
SET backupsFolder=Backups 

mongodump.exe --host %host% --db %dbNameToDump% 

SET date="%date:~10,4%-%date:~4,2%-%date:~7,2%.%time:~0,2%-%time:~3,2%" 
cd %backupsFolder% 
md %date% 

xcopy /e ..\dump %date% 

rmdir /s /q ..\dump 

Por encima de bat crear carpeta con el nombre como esto 2011-03-31.11-17(yyyy-MM-dd.hh-ss) en carpeta Copias de seguridad con las colecciones objeto de dumping de indicado base de datos. En Explorador de Archivos se ve así:

enter image description here

archivo segundo palo que utilizo para retore especificada descargó archivos (en este caso también es necesario especificar el nombre de la base de datos y la carpeta con los archivos objeto de dumping):

SET host=localhost:27020 
SET dbNameToRestore=MyDB 
SET restoreFolder=Restore 

mongorestore.exe --host %host% --db %dbNameToRestore% %restoreFolder% 

En Explorador de archivos:

enter image description here

En adicional, estoy usando horario de ventanas para au proceso de respaldo de tomate

La información de arriba de Hope será útil para otra persona.

+0

Esto fue realmente útil. Necesitaba alguna funcionalidad adicional (copia de seguridad en un recurso compartido de red). https://gist.github.com/adamb0mb/7191353 – adamb0mb

+1

¿cuántos datos crees que son seguros para el volcado? De acuerdo con el documento mongo, 'se recomienda un' pequeño conjunto de datos ', pero no sé cómo definir pequeño? – hakunami

2

Para resolver esto, he copiado la carpeta de descarga, dbdump (que contiene BSON archivos) en el directorio bin de mongodb y ejecutados los siguientes comandos en el símbolo del sistema:

1. cd "camino a la papelera de MongoDB carpeta"
(Ejemplo: cd C: \ archivos de programa \ MongoDB \ Server \ 3.2 \ bin)

2. mongorestore.exe --dir nombre ./directory --db base de datos de nombres
(Ejemplo: mongorestore --dir ./dbdump --db testdb)

Todos los archivos bson en la carpeta de volcado serán importados a su base de datos. Puede verfiy esto ejecutando los siguientes comandos:
cd "camino a la carpeta bin de MongoDB"
mongo.exe
muestran DBS;

3

Como se mencionó en las respuestas anteriores, se tienen que utilizar mongorestore en lugar de mongoimport. Agregando a las respuestas anteriores, cuando su mongodb se está ejecutando, ejecute el siguiente comando para restaurar el volcado desde el directorio de descarga,

mongorestore dump 

Esto importará todas las colecciones en su base de datos mibd. Sin embargo, esto no quita la base de datos antes de restaurar. Si se quieren eliminar la base de datos antes de importar,

mongorestore --drop dump 

Los archivos en el directorio BSON mibd será restaurado como las colecciones dentro mibd base de datos. Para obtener más información sobre mongorestore, consulte la documentación here.

+0

Extraño, traté de votar su respuesta y no cambió. De todos modos, mongorestore debe ejecutarse desde la línea de comandos, no en el shell mongo – Donato

+0

Oh sí, me olvidé de mencionar eso. –

Cuestiones relacionadas