Conexión a MongoDB Atlas usando JavaScript

GUÍA BASICA DE USO DE MONGODB ATLAS

Jugando Con MongoDB Atlas y un poco con JavaScript

Construyendo una aplicación con JS y MongoBD

6 min readJul 4, 2020

--

Actualmente estoy jugando con algunos servicios en la nube como heroku, netlifly, vercel y MoongoDB Atlas, este ultimo me agrado ya que es muy intuitivo al momento de generar bases de datos, cluster entre otras cosas, su versión free me parece muy completa, por lo cual decide generar una breve guía de como usarlo.

🤔 ¿Que es MongoDB Atlas?

Es un servicio en la nube para bases de datos desarrollado por el equipo de mongoDB, es posible crear bases de datos las cuales son expuestas online lo cual permite conectar nuestras aplicaciones, Atlas se encarga de todos los aspectos de hosting, instalación y actualizaciones, por lo que solo nos encargaremos de las configuraciones básicas, como gestionar accesos, crear bases de datos, crear alertas, etc.

👐 Manos a la obra

El primer paso es crear una cuenta en el sitio de MongoDB Atlas.

Al entrar en enlace anterior se mostrar la pagina principal en la que procederemos a seleccionar la opción Sign In.

Home del site MongoDB Atlas
Fig 1: Página principal de MongoDB Atlas.

Dicha opción nos mostrara una pantalla de Login en la que se tienen las siguientes opciones.

  • Acceder en el caso de tener una cuenta existente.
  • Acceder con una cuenta de Google.
  • Sign up la cual permite generar nuestro registro.

🔖 Nota: La opción de login dependerá de las preferencias del lector.

Si el registro se creo correctamente al iniciar sesión podremos ver el panel de administración, en el cual se mostrara el proyecto y cluster por defecto.

Panel de administración
Fig 2: Página principal de la cuenta

Podemos utilizar el botón “Create a New Cluster” pero con esta acción se solicitara un pago.

🚫 Borrando un Cluster

Por cuestiones didácticas procederemos a borrar el cluster y el proyecto creados por defecto al momento de crear nuestra cuenta, para esto seguiremos el flujo siguiente.

Pasos para borrar un Cluster MongoDB Atlas.
Fig 3: Borrando el cluster por defecto.

🔖 Nota: El proyecto es borrado ya que es la base para poder tener un cluster y por fines didácticos procederemos a borrar todo

🛠 Creando un Cluster

Al borrar el proyecto y cluster procederemos a crear los propios, como la vez anterior seguiremos el siguiente flujo.

Creando un nuevo proyecto con su cluster.
Fig 4: Creando un nuevo proyecto y Cluster.

Una de las ventajas de crear el cluster es que podemos indicar a uno de los siguientes proveedores AWS, Google CloudPlatform o Azure, otro punto importante es que nos muestra los tipos de cluster que se pueden crear.

Shared Clusters: Para el desarrollo de aplicaciones pequeñas o para equipos que inician con MongoDB, prácticamente para poder probar el producto.

Dedicated Clusters: Para desarrollos avanzados o entornos de producción.

Dedicated Multi-Region Clusters: Para el desarrollo de aplicaciones de clase mundial que requieren soporte multiregional o una latencia muy baja.

🔖 Nota: Al contar con una cuenta free procederemos a seleccionar la opción Shared Clusters.

⚙️ Configurando Network Access

Al finalizar la creación procederemos a brindar el acceso a ciertas ip’s en pocas palabras generaremos un whitelist, para realizar esta tarea seguiremos el flujo siguiente.

Bridando accesos a ciertas IP’s
Fig 5: Creando un WhiteList

Al generar nuestro WhiteList cómo se puede ver en el flujo anterior se muestran algunas opciones las cuales son.

Add Current IP Address: Con esta opción se agrega la ip publica del equipo con en el que estamos trabajando.

Allow Access From AnyWhere: Esta opción permite agregar la opción de darle acceso a cualquier IP.

Existe otra opción la cual es “This entry is temporary and will be deleted in” la cual permite generar el acceso por un limite de tiempo a cualquiera delas opciones mencionadas anteriormente.

📡 Conectando una Aplicación

Para poder tener accesos al cluster creado tenemos que generar un nuevo usuarios y crear la cadena de conexión, por lo que para esta acción seguiremos el siguiente flujo.

Creando un nuevo usuario y cadenas de conexión.
Fig 6: Creando un nuevo usuario y cadena de conexión.

Al generar un nuevo usuario procederemos a indicar cómo realizaremos la conexión para este caso tenemos 3 opciones las cuales son.

Connect with the mongo shell: Permite conectarnos a mongoBD desde la consola del sistema siempre y cuando lo tengamos instalado

Connect your application: Permite generar la cadena de conexión a utilizarla en nuestra aplicación.

Connect using MongoDB Compass: Esta opción permite conectarnos usando la aplicación oficial de atlas.

En este caso utilizaremos “Connect your application” ya que para terminar la guía generaremos un ejemplo básico con NodeJS.

🔖 Nota: No olvides copiar el password y la cadena de conexión ya que estos valores los utilizaremos para la practica final.

👨🏻‍💻 Creando la aplicación

Antes de iniciar nuestra aplicación se es necesario contar son una instalación de NodeJS y se recomienda la siguiente estructura de carpetas.

Estructura de carpetas para nuestro proyectos
Fig 7: Estructura de carpetas.

Inicial mente procederemos a crear el package.json en el cual procederemos a a instalar las siguientes dependencias

moongose: Con esta dependencia procederemos a realizar la conexión con MongoDB Atlas y podremos interactuar con la Base de Datos.

expressjs: Lo utilizaremos para crear un servidor muy sencillo con el cual podremos ver las respuestas que nos mande Atlas.

nodemon: Se utilizara para que cada vez que generamos un cambio se genere un auto-reload.

Fig 8: Package.json

🔖 Nota: Los próximos archivos todos serán generados dentro del directorio /src/

El paso siguiente es crear el archivo schema.js el cual se puede considerar como un mapa de los campos a crear ademas podemos indicar el tipo de dato de cada unos de estos, en pocas palabras es el cuerpo de la colección a crear.

Una colección dentro de mongoDB es el equivalente a las tablas que se manejan en MySql o SqlServer.

Fig 9: Schema correspondiente a la colección a crear

Por cuestiones didácticas vamos a crear un JSON llamado fakeData.json en el cual tendremos nombres y apellidos que tomaremos de manera aleatoria para crear registros dentro de MongoDB.

Fig 10: Data para registros fake

Como paso final hay que generar el index.js en el cual se establecerá la conexión y contara con 2 rutas que nos permitirán consultar la Base de Datos o crear nuevos registros.

Fig 11: Servidor para probar la conexión.

En el script anterior la conexión realizada esta envolviendo a la inicialización del servidor esto es para que dicha conexión este disponible al iniciar el server, al crear el servidor se generar dos rutas las cuales son.

Consultar los datos.

https://lr836.sse.codesandbox.io/

Crear un nuevo registro de manera aleatoria, esta ruta como se muestra en el código tiene el ejemplo base de para generar un registro.

https://lr836.sse.codesandbox.io/random

En el caso de que se tenga problemas ejecutando el código se cuenta con esta muestra para probarlo directamente o puede ir a codeSandBox.

Fig 12: Código resultante de la practica.

📝 Conclusiones

Atlas es una herramienta muy completa y potente ademas esta respaldada por el mismo equipo que creo MongoDB😱, entre otras de sus fortalezas es la seguridad que nos brinda con él control de accesos y creación de usuarios.

La conectividad con nuestra aplicación que generamos no fue compleja fue de los mas sencillo y transparente, com recomendación te sugiero leas la documentación de Mongoose ya que tiene muchas funciones que permiten explotar a MongoDB Atlas.

📝 Entradas recomendadas

--

--

Con más de 15 años de experiencia en desarrollo web, he colaborado con empresas líderes, contribuyendo al éxito de proyectos diversos. me gusta aprender