Request-Response

The Full-Stack Blog

Desplegar con Heroku y MongoDB Atlas

noviembre 14, 2023
Available in English

Esta guía lo guía a través de los pasos necesarios para implementar su aplicación en Heroku con una base de datos MongoDB usando MongoDB Atlas.

Si aún no tiene una cuenta de MongoDB Atlas, consulte Configurar MongoDB Atlas antes de continuar.

Crear una base de datos en MongoDB Atlas

Primero, creará una base de datos para su aplicación.

  1. Navegue hasta el tablero de MongoDB Atlas. Verá algo como la siguiente imagen:

    El tablero MongoDB Atlas muestra los clústeres que hemos creado.

  2. Para crear una base de datos para su aplicación, haga clic en el botón Collections en el cuadro Clusters de sandbox. Si no ha creado previamente una base de datos, será dirigido a una página que se parece a la siguiente imagen:

    El clúster MongoDB Atlas muestra que aún no se han creado bases de datos.

  3. Desde esta página, seleccione el botón "Add My Own Data". Si anteriormente creó una base de datos a través de MongoDB Atlas y necesita crear otra para esta aplicación, haga clic en el botón "+ Create Database" en la columna izquierda del panel de la ventana. De cualquier manera, el modal resultante debe verse como la siguiente imagen:

    El cuadro de diálogo modal Crear base de datos permite a los usuarios crear un nombre de base de datos y una colección inicial.

  4. Complete el formulario con el nombre de su base de datos MongoDB y una colección para esa base de datos. Solo necesita crear una colección para comenzar, ya que su aplicación las creará al implementarse, así que no se preocupe si cree que su base de datos se ampliará o disminuirá en el futuro.

  5. Cuando haya terminado de crear su base de datos y la colección inicial, el tablero debe mostrarlos, como se muestra en la siguiente imagen:

    La pestaña de colecciones muestra la base de datos y la colección que acaba de crear.

Genial. Se ha creado su base de datos. Pasemos a conectarla con su aplicación en producción.

Conectar la base de datos a Heroku

Para que su aplicación Heroku utilice la base de datos MongoDB Atlas, tendrá que hacer dos cosas:

  1. Configurar una variable de entorno en su aplicación Heroku para mantener la cadena de conexión de la base de datos.

  2. Asegúrese de que el código de su aplicación esté configurado para buscar esa variable de entorno Heroku y, si no se encuentra, conéctese a una base de datos local. Esto es importante porque esa variable de entorno solo existirá en producción con Heroku.

Configurar la variable de entorno en Heroku

Primero, agregará la cadena de conexión de la base de datos a una variable de entorno en Heroku.

  1. Para comenzar, asegúrese de haber creado una aplicación Heroku para su proyecto. Para crear la aplicación, navegue hasta el directorio de su aplicación desde la línea de comandos y escriba el siguiente comando:

    heroku create
  2. Una vez que reciba la confirmación de que Heroku creó correctamente el espacio de nombre para su aplicación, navegue a esa aplicación en su cuenta Heroku a través del navegador. Para hacerlo, visite el sitio web de Heroku, inicie sesión y seleccione la aplicación de la lista de aplicaciones en el tablero de su cuenta.

  3. Desde tu aplicación Heroku, navegue hasta la pestaña Settings en el lado derecho del menú de la aplicación. La página debe verse como la siguiente imagen:

    La pestaña de configuración de la aplicación Heroku muestra las opciones de configuración de nuestra aplicación.

  4. En esta página, verá una sección llamada "Config Vars" con un formulario para ingresar pares de clave/valor. Aquí es donde agregamos la información de nuestra base de datos de productos. Por ahora, escriba MONGODB_URI en el campo CLAVE. Para el VALOR, recuperaremos la cadena de conexión de la base de datos de MongoDB Atlas en el siguiente paso.

  5. Abra su tablero de MongoDB Atlas en otra pestaña del navegador para no salir de la página de Heroku. Una vez allí, localice el botón Connect en la información de su clúster y haga clic en él. Si tiene problemas para encontrarlo, consulte la siguiente imagen:

    El tablero MongoDB Atlas muestra nuestro clúster con un botón Connect.

  6. Cuando se abre el cuadro de diálogo modal de conexión, debe ver las tres opciones que se muestran en la siguiente imagen:

    El modal de conexión presenta tres opciones para conectarse a nuestra base de datos.

  7. Como desea conectar nuestra base de datos a una aplicación, seleccione la segunda opción, "Conecte su aplicación". Luego verá algo como la siguiente imagen:

    El modal de conexión ahora muestra instrucciones para que conectemos nuestra base de datos a nuestra aplicación.

  8. Aquí, todo lo que debe hacer es copiar la cadena de conexión que aparece en el segundo paso. Así que haga clic en el botón Copy.

  9. Con la cadena de conexión copiada, regrese a la configuración de la aplicación Heroku y pégala en el campo del formulario Value.

  10. Se debe actualizar la cadena de conexión para incluir el nombre, nombre de usuario y contraseña de nuestra base de datos. En este momento, probablemente se parezca al siguiente código:

    mongodb+srv://<username>:<password>@cluster0.5k55w.mongodb.net/<dbname>?retryWrites=true&w=majority

    Incluso si la cadena de conexión que proporciona MongoDB Atlas no incluye un marcador de posición para el nombre de su base de datos, asegúrese de añadirlo donde se indica <dbname> arriba.

  11. Cámbielo para que su nombre de usuario, contraseña y nombre de base de datos sean correctos, como se muestra en este ejemplo:

    mongodb+srv://lernantino-user:password123@cluster0.5k55w.mongodb.net/deep-thoughts?retryWrites=true&w=majority
  12. Una vez que la cadena de conexión contenga la información correcta, haga clic en el botón Add para guardarla. La pantalla resultante debe verse como la siguiente imagen:

    La configuración de la aplicación Heroku ahora incluye la cadena de conexión de la base de datos Mongo como variable de entorno.

Genial. Ahora que tiene todo esto configurado, lo último que debe hacer es actualizar su código de aplicación.

Actualizar código de aplicación para conexión a MongoDB

A continuación y por último, actualizará el código de la aplicación para adaptarse a la conexión a MongoDB.

  1. En VS Code, navegue hasta su aplicación y localice a dónde se conecta con su base de datos. Una vez que lo encuentre, actualícelo para que se vea como el siguiente código:

    mongoose.connect(process.env.MONGODB_URI || 'mongodb://127.0.0.1:27017/your-database-name');
  2. Con este código implementado, el comando mongoose.connect() intentará usar primero la variable de entorno. Si se ejecuta en Heroku, encontrará esa variable y la usará. Si se ejecuta localmente en su máquina, no encontrará esa variable y volverá a usar su conexión de base de datos local.

  3. Guarde su código y use los siguientes comandos Git para agregarlo, hacer commit y enviarlo a Heroku:

    git add -A
    git commit -m 'deploying'
    # make sure you're pushing from your local master branch!
    git push heroku master
  4. Si todo funcionó correctamente, use heroku open para abrir su aplicación en el navegador y ver su trabajo. Si algo no funciona, ejecute heroku logs desde la línea de comando para ver dónde puede haber problemas.

¡Feliz codificación!

This page was updated 4 months ago
© 2022 edX Boot Camps LLC. Confidential and Proprietary. All Rights Reserved.

Category: MongoDB

Tagged under: mongodb, mongodb atlas, deployment, heroku, guide,

All Posts