Buenos amigos: NodeJS + MongoDB
El intento de este post no es explicar qué es y cómo funciona MongoDB sino como utilizar una base con NodeJS.
Para lo referido a MongoDB, descubrí un librito excelente, corto y conciso en la jsConfAR: The Little MongoDB Book by Karl Seguin, lo interesante del libro es que está hecho en markdown y publicado en github con una versión al español traducida por @uokesita.
Me tomé el trabajito de pasar el markdown español a varias versiones para que lo puedas leer online, en algún dispositivo movil o en el kindle:
Instalando y configurando un Server Mongo
Mi prueba la hice en Ubuntu, pero no varia mucho para otras distribuciones/ SOs, podés ver las instrucciones para otros en: Quickstart – Installation Guides.
Descargamos la versión estable de MongoDB desde el sitio oficial de descargas
Después que termina toda la descarga, descomprimimos y navegamos hasta la carpeta bin de adentro y creamos un archivo mongodb.config donde le configuramos el path a donde van a ir las bases de datos (en mi caso de linux) agregándole la siguiente linea:
Para windows podría ser:
Asegurate de que el path exista y sino crealo (yo tuve que crear el directorio data)
Y ahora (parados en el bin) iniciamos el servidor con el path al mongodb.config:
mongod es el proceso de servidor y mongo el cliente.
En ese momento vamos a ver que inicia el server y queda en espera en un puerto, en mi caso el 27017 (que es el default de Mongo)
Listo!, ya tenemos el server corriendo. Ahora abrimos otro terminal y ejecutemos el cliente mongo y un db.version() para probar:
Bueno, ya tenemos todo listo, podemos crear una colección y un documento:
El cliente lo iniciamos para crear una base de prueba, ya podemos matar el proceso mongo si molesta.
No mates el mongod que es el server!
Conectando a MongoDB desde NodeJS
Primero necesitamos un driver para node, y ahora se pone fácil:
El packete de NPM mongodb es un driver para NodeJS como también hay otras bibliotecas que vienen con algunas cosas interesantes como Mongoose, o MongoJS, pero no es nuestro caso ahora.
Creamos un app.js donde vamos a hacer una prueba contra la base unTestDB que creamos antes:
Lo que nos queda es correr el app.js y ver el output en la consola
Y eso es todo!.
De nuevo, el objetivo del post es que veas lo simple que es engancharse desde NodeJS a un MongoDB, la parte de estudio (si nunca usaste Mongo) está más del lado de qué es y cómo funciona Mongo, el libro que está al inicio del post es un arranque muy bueno.
Links útiles
- Documentación completa del Driver Nativo de MongoDB para NodeJS
- The Little MongoDB Book by Karl Seguin
- Quickstart – Installation Guides
- Sitio oficial de descargas – MongoDB
- Mongo-Express: Interfaz Web de administración de bases MongoDB