Mongoexport. Cómo exportar datos en MongoDB

Hola, hoy vamos a hablaros de mongoexport. Esta herramienta nativa de MongoDB permite exportar datos a CSV o JSON. En este artículo nos centraremos en la exportación de datos a CSV combinando dos parámetros. Vayamos a ello.

Comprobamos que disponemos de mongoexport

A pesar de que es una herramienta nativa, se incluye en el paquete mongodb-org-tools. Este paquete contiene además, otras utilidades como mongoimport, mongodump, mongostat, entre otros muchos. Si este paquete no está instalado, no dispondremos de mongoexport para poder continuar. Podremos comprobar que tenemos instalado y funciona con:

mongoexport --help

Este comando debería devolver la ayuda de este comando, lo que puede ser muy útil también para probar estas opciones o realizar modificaciones para otras variantes.

Exportación simple a CSV

mongoexport

Antes de empezar a probar exportaciones más complejas con parámetros, empezaremos con la exportación más básica diponible. Esta es la configuración mínima que tendrá un export dando por hecho que se realiza sobre la misma máquina que contiene MongoDB. Los datos necesarios son:

  • Base de datos
  • Colección
  • Usuario con permiso de exportación (al menos de lectura).
  • Contraseña del usuario
  • Base de datos donde está creado el usuario (authenticationDatabase)
mongoexport --db base_de_datos_a_exportar --collection coleccion_a_exportar --authenticationDatabase admin -u usuario_exportacion -p Pa$$ --out /ruta/export/exportacion_simple.csv

Exportación a CSV especificando campos

Para esta exportación, necesitaremos incorporar en la exportación –type=csv y –fieldFile. Para que funcione la exportación con fieldFile, es necesario especificar el tipo. En este caso csv. En –fieldFile, deberemos especificar el fichero de texto donde están indicados los campos que queremos exportar, así como su orden. En este fichero se deberá especificar un campo por línea (acabando con «intro» al final del cada línea). Por ejemplo:

_id
nombre
email

Este es un ejemplo de este tipo de exportación.

mongoexport --db base_de_datos_a_exportar --collection coleccion_a_exportar --authenticationDatabase admin -u usuario_exportacion -p Pa$$ --type=csv --fieldFile
 /ruta/export/fields.txt --out /ruta/export/exportacion_con_fieldFile.csv

Esto es solo un ejemplo de lo que nos permite esta potente herramienta. Podemos realizar varias combinaciones entre sus muchos parámetros. Esto sería imposible resumirlo en una sola entrada. Por eso, si no queréis perderos futuras entradas, no dudéis en apuntaros a nuestra newsletter.