Utilizar Mongodb En Node Js

Aprende a utilizar mongodb en node js como un PRO

Las bases de datos relacionales son para pussies. Muerte a MySQL y que vivan las bases de datos NoSQL. Si las grandes tecnológicas dieron el salto en su día por algo será y hoy vamos a aprender a utilizar MongoDB en Node JS!!

Jajajaja realmente la afirmación anterior no es tan tajante, no te vayas a pensar que las bases de datos relacionales han muerto para dar paso a este nuevo tipo de concepción. Eso es falso y si hay algún recruitmen de consultora que te lo dice huye rápido de su despacho.

Estos dos tipos de bases de datos están pensadas para solucionar problemas diferentes. Ya hice un artículo en el que hablaba de las diferencias entre MySQL y MongoDB y que puedes leer aquí así que échale un vistazo antes de utilizar MongoDB en Node JS 😉

Cómo instalar MongoDB en nuestra máquina

El primer paso como es lógico será instalar MongoDB en nuestra máquina. No quiero entrar mucho en detalle porque en la página de la comunidad de mongodbspain esta muy bien explicado así que me voy a limitar a dejar los enlaces:

Una vez lo tengas instalado hay un punto clave que tienes que tener en cuenta.

Para utilizar MongoDB en tu máquina es necesario que el demonio esté ejecutándose. Obviamente al igual que con otras bases de datos pero con MongoDB lo tienes que levantar tu mismo.

En la documentación de mongodbspain está profundamente ampliado pero quédate con los siguientes comandos:

$ mongod --config /usr/local/etc/mongod.conf

Este comando ejecuta el demonio y si le añades el flag –fork harás que mongo corra en segundo plano.

$ mongod --config /usr/local/etc/mongod.conf --fork

Si quieres hacer que mongo se ejecute de manera automática cuando enciendes el ordenador lanza los siguientes comandos.

//Iniciar el proceso principal mongod de MongoDB al iniciar sesión:
$ ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
 
//Iniciar MongoDB ahora en background y dejarlo en ejecución
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

Bien, con esto anterior ya habrás configurado esta base de datos no relacional y orientada a objetos en tu máquina. Ahora viene lo divertido y vamos a ver como utilizar MongoDB en Node JS.

Cómo utilizar MongoDB en Node JS

El primer paso para utilizar mongodb en node js es crearnos una base de datos, para ello abrimos una terminal y escribimos mongo. Esto nos conectará con el sistema de base de datos.

A diferencia con MySQL en la que para crear una nueva base de datos teníamos que pelearnos con los CREATE TABLE y definir una estructura con MongoDB eso no pasa.

Una vez conectados tenemos que indicar que queremos usar una base de datos e insertar un registro para que el sistema la construya on-the-fly. Sigue los pasos 😉

$ mongo
> use base-de-datos-de-prueba
> db.albums.insert({id: 1, band: 'Las Bistecs', album:'Oferta'});

Con esto ya habremos creado la base de datos y habremos insertado un nuevo registro en la colección de albums.

Vale ya tenemos lo básico pero… ¿cómo hacemos para conectar MongoDB con Node JS?

Pues eso lo vamos a hacer utilizando Mongoose que es un ORM.

Para el que no conozca qué son y cómo funcionan los ORM le dejo este enlace de la Wikipedia.

Conectar MongoDB a Node JS mediante Mongoose

Para ello vamos a instalar Mongoose tirando del gestor de dependencias NPM. Así pues en la terminal escribimos lo siguiente:

$ npm install mongoose --save

Ya sabéis, el flag –save para que guarde una copia en el directorio node_modules y actualice el package.json.

Una vez se haya instalado deberías tener el entrypoint de tu aplicación node parecido al que voy a poner a continuación. (En el post anterior expliqué cómo organizar un proyecto con node js y qué es eso del entrypoint, échale un vistazo desde aquí)

  • Línea número 3: incluímos el módulo mongoose para poder utilizarlo dentro de nuestra aplicación.
  • Línea número 8: hacemos uso del método connect. Este método acepta dos argumentos. El primero es la cadena de conexión a dónde tenemos que conectarnos y el segundo es la función callback. Fíjate en la cadena de conexión. Lo primero que hay que indicar es el protocolo (mongodb en este caso), después el nombre del host donde esté la base de datos (localhost, nuestra máquina local en este caso), después el puerto por defecto de MongoDB (27017 en este caso) y por último la base de datos a la que queremos conectarnos (base-de-datos-de-prueba en este caso)
  • Línea número 9: comprobamos si ha habido algún error de conexión y en caso contrario levantamos el servidor node

Y ya está, eso es todo.

Con esto ya podrás utilizar MongoDB en Node JS, es lo mínimo en cuanto a configuración se refiere. En el próximo artículo veremos cómo hacer las operaciones típicas de lectura, escritura, actualización y borrado sobre nuestro proyecto.

Y ya sabéis, si tenéis algún tipo de dudas o preguntas hacédmelas llegar en la sección de comentarios o a través del siguiente banner de Twitter.

@gorkakatua #faqsGorkamu pregúntame por twitter cualquier cosa y vemos cómo lo solucionamos.

Hala a cascarla!

¿Te ha parecido este un artículo de 5 estrellas? Dame tu valoración:
Review Date
Reviewed Item
Aprende a utilizar MondoDB en Node js como un PRO
Author Rating
51star1star1star1star1star

Gorka Muñoz Andrés

Me llamo Gorka Muñoz y soy un desarrollador melómano. Combino a la perfección la búsqueda de nuevos grupos con la pasión por la tecnología. Desde chiquitito me ha gustado la programación, ahora que soy mayor estoy metido en el mundo del SEO sin olvidarme del /Dev.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *