Mongo DB

Respaldar base de datos de MongoDB

Introducción

En toda base de datos siempre necesitaremos importar y exportar datos. Ya sea por prevención, seguridad o porque haremos un movimiento que puede hacer que la base de datos quede mal. El punto es que siempre lo necesitaremos.

Hoy veremos cómo hacer un respaldo completo de una base de datos en MongoDB utilizando tanto mongoexport y mongoimport como mongodump y mongorestore.

Diferencias entre mongoexport, mongoimport, mongodump y mongorestore

Mongoexport funciona para exportar. Para importar datos que respaldamos con esta herramienta, utilizamos mongoimport.

Mongodump funciona para exportar, y su contrario es mongorestore.

La diferencia es que mongodump conserva los datos de una forma más “fiel”, es decir, si tenemos datos que no son simples cadenas o números, éste método tratará de que queden intactos al exportarlos e importarlos.

Otra diferencia es que el primero exporta a JSON y el segundo a BSON. Si me preguntan a mí, prefiero JSON, pues guardo datos normales.

Importando y exportando con JSON

Sintaxis

Exportar

La sintaxis es la siguiente:

mongoexport --db tuBaseDeDatos --collection laColeccion --out C:\la\ruta\de\salida\del\archivo.json

Importar

Y para importar, usamos esto:

mongoimport --db tuBaseDeDatos --collection laColeccion --file C:\la\ruta\del\archivo.json

Ejemplo

Base de datos

Para ejemplificar esto, usaré una base de datos de una tienda, que tendrá una colección llamada productos. Habrá 3 registros en dicha colección, los cuales se ven así:

Exportando con mongoexport

Ahora voy a exportarlos:

Nota: no puse la ruta completa, sólo puse el nombre del archivo, por lo que el programa tomará la ruta actual como la ruta en donde debe quedar el archivo. En este caso es la raíz del disco D.

Si visito la ruta en donde lo exporté, veré que se creó un archivo que se puede abrir con un editor de texto plano:

Ahora eliminaré todos los datos de la base de datos. Al consultarlos, queda esto:

Así que la tabla ha quedado vacía.

Importando con mongoimport

Como ya hemos vaciado la tabla, vamos a probar la importación. Voy a importar el archivo:

Y ahora, si veo los registros que tengo, veré esto:

Y así podemos importar y exportar. Veamos ahora las otras 2 herramientas.

Importando y exportando con BSON

Para mostrar la diferencia, ahora vamos a exportar una base de datos completa.

Sintaxis

Exportar

Para exportar, hacemos lo siguiente:

mongodump --db tuBaseDeDatos --out C:\la\ruta\de\salida\de\la\carpeta

 

Importar

Y para importar, esto:

mongorestore C:\la\ruta\de\la\carpeta

En este caso no especificamos base de datos ni colección, pues la base de datos será creada automáticamente.

Ejemplo

Base de datos

Utilizaremos la misma base de datos de productos

Exportar con mongodump

Para exportar es:

Esto hizo que una carpeta fuera creada:

Importar con mongorestore

Ahora para importar únicamente paso el nombre de la carpeta como argumento:

Conclusión y notas

Si tenemos control de acceso, podemos pasar nuestro usuario y contraseña con –username y –password respectivamente. Por cierto, la contraseña debe ir entre comillas.

También tenemos las opciones –host y –port. Y puede que haya otras, pero espero haber mencionado aquí las más importantes.

Por otro lado, podemos exportar colecciones únicas, base de datos, todas las bases de datos, y muchas combinaciones que no podría explicar en un post.

Aquí dejo una lista de enlaces que pueden ser de ayuda:

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Compartir
Publicado por
parzibyte

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

2 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

3 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

3 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

4 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.