Como importar datos en formato csv a nuestro servidor en MongoDB
CSV es un formato de archivo muy extendido para el intercambio de información. El formato de este es muy simple. La primera fila suele ser el nombre de los campos, separados por comas. Las demás filas son los datos en si.
Para importar este tipo de archivos csv ha nuestro servidor de bases de base de datos usaremos el mismo comando que nos proporciona la empresa detrás de MongoDB para importar datos desde un fichero en formato json.
Comando mongoimport
Como ya explique en el otro post donde importamos los datos en formato josn a nuestro servidor MongoDB el comando que utilizaremos es el que MongoDB nos pone a disposición de estas tareas. Este comando es mongoimport. Este comando tiene el siguiente formato básico.
mongoimport --db baseDatos --collection coleccion --file fichero_a_importar --type csv
Si nuestro servidor esta instalado en local, escuchando en el puerto por defecto, es decir, el 27017. Y ademas no tiene credenciales de acceso, sera suficiente.
Explicacion del comando mongoimport
Con el parámetro «–db», o «-d», establecemos el nombre donde vamos a importar los datos. No tiene por que existir. Por norma en mongodb, si la base de datos no existe automáticamente el servidor de base de datos no lo crea por nosotros.
El parámetro «–collection», o «-c», estableceremos el nombre de la colección que va ha albergar los documentos que vamos ha importar. Como en el caso de la base de datos, si esta no existiera, el servidor de mongodb la crearlo por nosotros.
El parámetro siguiente, «–file», establecemos el nombre del fichero en formato csv que vamos a importar.
El parámetro «–type csv» establecemos que el tipo de archivo que vamos ha importar esta en formato csv. En el anterior post, no utilizamos este parámetro, ya que el comando de mongoimport, si no lo indicamos, asume que vamos a utilizar el formato json.
Y en escenario básico, dando se las condiciones anteriores, esto sería suficiente.
Otro parámetros de mongoimport
Pero lo habitual no es tener este escenario idílico, tendremos que utilizar otro parámetros para establecer, tanto el host donde se encuentra el servidor, el puerto en el cual está a la escucha. Y el nombre de usuario y contraseña que necesitaremos para autentificarnos.
Lo parámetros necesarios para estas operaciones son los siguiente.
Para establecer el host del servidor utilizaremos el parámetro «–host» o en su versión abreviada «-h» seguido de la dirección del servidor.
Para el puerto el parámetro que necesitamos es «–port» seguido del puerto que utiliza el servidor de mongodb.
También podemos establecer el host y el puerto con el mismo parámetro host. Para ello lo podemos hacer de la siguiente formato.
mongoimport --host direccion_o_IP:puerto
o en formato abreviado
mongoimport -h direccion_o_IP:puerto
Para lo que se refiere al registro en el servidor, usaremos el parámetro «–username» o «-u» seguido del nombre de usuario que vamos a utilizar. Para establecer la contraseña usaremos el siguiente parámetro «–password» o en versión abreviada «-p».
Ejemplo de uso de mongoimport
Un ejemplo de uso quedaría de esta forma.
mongoimport --db baseDatos --collection coleccion --type csv --host direccion_o_ip --port 23456 --username usuario --password contraseña --file ficheroImportar.csv
Y si todo lo hemos escrito correctamente, y no se ha producido ningún error, ya tendríamos nuestros datos importados a nuestro servidor de base de datos con MongoDB.
Si te has quedado con alguna duda, me puedes dejar un comentario.