Importar datos en nuestra base de dsatos en MongoDB

Importar datos desde un fichero json a nuestro servidor de MongoDB

Cuando trabajamos con bases de datos, ya sea para pruebas o para iniciar una puesta en marcha en producción. Lo habitual es que tengamos que importar datos desde otro sistema.

El formato JSon es uno de los formatos de intercambio de datos que Importación datos a MongoDBmás popularidad tiene en la actualidad. Este formato nos permite una gran flexibilidad en el manejo de estos. Casi todos los lenguajes de programación, por no decir todos, en la actualidad cuenta con librerías para el manejo de este tipo de datos. Por lo que el manejo de estos se vuelve muy sencillo.

En el caso de MongoDB, no necesitamos utilizar ningún lenguaje de programación para importar un fichero en formato JSon a nuestra base de datos.

Dentro de la instalación de MongoDB podemos encontrar un comando que nos facilita y mucho esta tarea. Este comando es «mongoimport»

Ha este comando le tendremos que pasar una serie de parámetros para indicarle en que base de datos queremos guardas las colecciones, las tablas en el formato de bases de datos relacionales. El nombre de la colección donde queremos que se guarden nuestros documentos, los registros siguiendo la analogía con las bases de datos relaciones. Y por ultimo, el fichero en formato json donde se encuentran nuestros datos.

MongoDB nos facilita un fichero json con las ciudades de Estados Unidos para hacer pruebas. Vamos a usar este fichero para mostrar un ejemplo. El fichero lo podéis encontrar en la siguiente dirección: http://media.mongodb.org/zips.json. Lo descargamos y lo guardamos en nuestro sistema.

Una aclaración, este método es independiente del sistema donde tengamos instalado nuestro servidor MongoDB. Funciona tanto en Linux, Windows, o Mac. En este caso y que no sirva de precedente, las pruebas la he realizado con un windows 10, y con servidor Debian. Lo habitual es tener el servidor de MongoDB corriendo en un servidor Linux.

Importar los datos a nuestro servidor de MongoDB.

Una vez que ya tenemos nuestro fichero descargado vamos a ver como lo importamos.
mongoimport --db ciudadesdb --collection ciudades --drop --file zips.json --port 8080
Con el parámetro «–db» le indicamos que queremos guardar los datos en la siguiente base de datos. En este caso «ciudadesdb».

Con el parámetro «–collection» le indicamos la colección, es decir, la tabla donde queremos guardar los datos. En este caso «ciudades».

El parámetro «–drop» le indicar a mongoimport que descarte todos los datos que hubiese ya en la colección. Es decir, borraría todos los datos que tuviese la tabla antes de realizar la importación de los datos. Cuidado con este parámetro, si queremos añadir los nuevos datos a los ya existentes, no debemos incluir este parámetro.

El parámetro «–file» es donde le indicamos a mongoimport donde está el fichero en formato json con los datos que deseamos importar.

Y esto sería suficiente que nuestro servidor,

  1. Esta en el equipo local, es decir, está en «localhost».
  2. El puerto que está a la escucha es el de por defecto de la instalación de MongoDB.
  3. Y además no tiene nombre de usuario ni contraseña para acceder a él.

Parámetros avanzados para mongoimport

Como en muchos de los casos no se va a dar alguna de estas opciones tendremos que utilizar alguno de los siguientes parámetros.

Para indicarle a mongoimport en qué dirección esta nuestro servidor usaremos el paramento «–host» y le indicaremos la dirección donde se encuentra nuestro servidor.

Para indicarle el puerto por que cual está a la escucha nuestro MongoDB utilizaremos el paramento «–port» y el puerto que hemos configurado.

Para autentificarnos en el servidor tendremos que utilizar los siguientes paramentos. Para indicarle el nombre de usuario que tenemos que usar usaremos el parámetro «–username» o en versión corta «-u» seguido del nombre de usuario que deseamos usar. Para indicarle la contraseña utilizaremos le parámetro «–password» o «-p» seguido de la contraseña deseada.

Con estos parámetros ya podremos indicar el servidor que deseamos usar, y el usuario de queremos utilizar.

Si queréis saber más parámetros que podéis utilizar para importar datos a nuestro servidor MongoDB utilizando el comando mongoimport tenéis más información en la página oficial en https://docs.mongodb.com/manual/reference/program/mongoimport/

Y esto sería todo, alguna duda, ya sabéis comentario al canto.