Configurando un ambiente para empezar a probar MongoDB en tu maquina local con Node.Js - Part 1 
Tags: mongodb, javascript, node, spanish
Published: 2021-12-04 03:38:54

Nota: No sufras instalando MongoDB y setea un ambiente fácil en 10 minutos. En estos post acerca de MongoDb usáremos Node.JS así que es muy importante tener Node.JS instalado y funcionando en su maquina local, aunque tampoco usaremos mucho Node.js sólo para verificar que si funcionó la instalación.

Antes de entrar a hablar como tal de mongoDb siempre he observado que unas de las cosas mas difíciles a la hora de empezar a trabajar o en este caso a estudiar sobre una tecnología es la configuración inicial, personalmente siempre he gastado mas tiempo configurando esa tecnología y muchas veces por lo difícil que puede ser el proceso he abandonado el proyecto he ido a buscar algo más que estudiar 😅. "Afortunadamente" estamos en una época en dónde probar las diferentes tecnologías es más sencillo y con unos clicks ya puedes tener configurado tus ambientes para empezar a estudiar lo que quieres.

Y como no puede ser la excepción el Team de MongoDB creó una excelente opción para poder empezar a estudiar (y trabajar) con MongoDb de una manera rápida y sencilla. La opción que veremos hoy de manera muy sencilla es MongoDB Atlas y como crear un proyecto en 5 minutos para empezar a trabajar/probar MongoDB.

MongoDB Atlas es una herramienta online de Base de Datos en la nube que básicamente una infraestructura (AWS, Azure..) con las configuraciones necesarias para que los developers puedan enforcarse mas en la parte del desarrollo y menos en la administración.

### Creando nuestra primer DB online con MongoDB Atlas

Para empezar lo primero que debemos hacer es registrarnos en 
https://www.mongodb.com/cloud/atlas/register

Una vez registrado el usuario nos redirigirá a un dashboard como el siguiente.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rbiqeqwyamkh7nbbp4i8.png)

En esta vista lo que vamos a hacer es dar click en el botón de "New Project" y vamos a crear un nuevo proyecto allí que a la final va a ser como un nuevo espacio de trabajo.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o3kqk8ng8zdszjjkuyfr.png)

☝🏼 En esta vista vamos a agregar un nombre para nuestro proyecto y darle click en Next eso nos llevará a la próxima vista en dónde sólo daremos click a "create project" y eso será todo, ya tendremos nuestro proyecto o espacio de trabajo listo para el siguiente paso.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7wf1ehzewtm1kow3dgek.png)
 
 
### Creando nuestra primera Base de Datos en la nube 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t2iop14ldyal2j2f3sbf.png)
En esta primera vista lo que vamos a hacer es crear una base de datos dentro del espacio o proyecto que recién creamos, para ello daremos click en el botón de "Build a Database", una vez demos click en este, nos aparecerá la siguiente pestaña:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/51tj60txrzwzpnyx74x1.png)
☝🏼 En esta vista lo que haremos será escoger el tipo de plan, por motivos de aprendizaje y que no se nos generen gastos escogemos el plan shared que es Free.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/al8429aperdkc3y4r5fk.png)
Después de escogido el plan ahora podemos seleccionar el tipo de proveedor qué usáremos para deployar nuestro servicio en la nube, en mi caso tengo experiencia trabajando con AWS así que seleccionaré esa opción tal como está por default y escogeré us-east-virginia-1. El escoger entre una region y otra varia según la ubicación dónde se encuentren y al lugar en dónde quieren alojar sus servicios. Si quieren saber que region deberian escoger, aquí hay una guía de aws (https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/) que da una buena introducción de qué region escoger y que pros y contras trae cada una. No todas las regiones ofrecen los mismos servicios!!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wqxfaz5whw67ze8eifvi.png)
Ahora haremos Scroll hacia abajó y veremos una sección llamada cluster-name y ahí pondremos el nombre qué queramos como se llame nuestra DB, y después haremos click en "Create Cluster" y ahí quedará ya nuestra instancia creada.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uptffiy88fraydd6afnv.png)
Luego se nos redirigirá a este Quickstart view donde podremos agregar un usuario y un password, este usuario y password son muy importantes de agregar ya que con este usuario es que nos conectaremos a la DB que recien creamos en la nube.
 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/69s0yqz4sqdju98y2nd0.png)
Una vez creada creado el usuario si van al tab de navegación dónde dice "databases" les aparecerá un mensaje como el que está en azul en la imagen de arriba diciéndoles que "Estamos deployando sus cambios...." entonces tendremos qué esperar, ya qué esto significa que la infraestructura de nuestra DB recien está siendo creada y deployada al servicio en la nube que hayan escogido.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gfcohnjx3d1jwyfr1q7n.png)
☝🏼En esta vista en Database Access ustedes pueden verificar el usuario que crearon e incluso pueden eliminar y añadir más usuarios!

### Conectandonos a la DB online desde nuestras maquinas localmente

El primer paso que debemos hacer para poder conectarnos es añadir la IP Address desde la que estaremos trabajando, para ello iremos a la parte de "Network Access" y allí le daremos click al botón de Add IP Address.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/feenqyo7vzso1k7y4ive.png)

Esto nos abrirá el siguiente Modal 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/apf6xo4jk16d3xru3j5o.png)
Y en este modal lo que haremos será darle click en dónde dice "Allow Access From Anywhere", ahí el nos añadirá una IP en la cual podremos acceder desde cualquier lugar (esto lo hacemos por motivo de prueba, la idea es que si lanzamos algo a producción tengamos mucho cuidado de setear la IP correcta desde la que queremos acceder y borrar la que acabamos agregar).

El próximo y último paso será ir nuevamente a la pestaña de "databases" y allí en esta pestaña vamos a darle click al button "connect".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bbaj37fg6lybrtu598cx.png)

Allí nos aparecerán 3 opciones de como conectar nuestra DB, de momento usáremos la opción de "Connect your aplication" que va a ser la opción que nos va a servir para usar mongo dentro de nuestra aplicacion Node.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k9uwi10qbka1h6ttr6pz.png)

Una vez allí nos aparecerá una nueva vista y allí daremos click a "Innclude full driver code example", en dónde nos aparecerá el código completo de como importar nuestra db en nuestro código. Y cómo se habrán dado cuenta, allí hay un dropdown en dónde podemos escoger entre diferentes lenguajes y sus maneras de importar mongoDB. En nuestro caso probáremos mongoDb con NodeJS y lo haremos de manera directa sin el uso de ningún ORM/ODM como mongoose o de ningún third party library.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ymrye3ojhxq8qypmjvz.png)

## Parte 2
https://dev.to/ionyrojas/configurando-un-ambiente-para-empezar-a-probar-mongodb-en-tu-maquina-local-con-nodejs-part-2-a95

References:

1. https://aws.amazon.com/es/quickstart/architecture/mongodb-atlas/
2. https://aws-quickstart.github.io/quickstart-mongodb-atlas/