Desplegar con Heroku y MongoDB Atlas
febrero 06, 2024Available 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.
Navegue hasta el tablero de MongoDB Atlas. Verá algo como la siguiente imagen:
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:
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:
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.
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:
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:
Configurar una variable de entorno en su aplicación Heroku para mantener la cadena de conexión de la base de datos.
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.
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 createUna 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.
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:
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.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:
Cuando se abre el cuadro de diálogo modal de conexión, debe ver las tres opciones que se muestran en la siguiente imagen:
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:
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.
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.
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=majorityIncluso 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.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=majorityUna 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:
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.
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');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.Guarde su código y use los siguientes comandos Git para agregarlo, hacer commit y enviarlo a Heroku:
git add -Agit commit -m 'deploying'# make sure you're pushing from your local master branch!git push heroku masterSi todo funcionó correctamente, use
heroku open
para abrir su aplicación en el navegador y ver su trabajo. Si algo no funciona, ejecuteheroku logs
desde la línea de comando para ver dónde puede haber problemas.
¡Feliz codificación!
This page was updated 6 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
- OpenAI Account Setup Guide
- NodeJS Installation Guide
- PostgreSQL Reference Guide
- GitHub Copilot Guide
- PostgreSQL Installation Guide
- Deploy with Render and PostgreSQL
- API Resources
- Render Deployment Guide
- Deploying a MERN Stack Application to Render
- Deploy with Render and MongoDB Atlas
- The Science and Research Behind Our Unconventional Educational Approach
- What Makes Up a Web Development Project?
- Localhost Loopback Issues Troubleshooting Guide
- Video Submission Guide
- A Growth Mindset for Life
- Web Literacy
- Developer Resources
- Introduction to Computer Structure and Organization
- MySQL Installation Guide
- HTML Cheatsheet
- Advanced Computer Skills
- Introduction to Computer Skills
- How to Use API Keys
- How to Install MongoDB
- MySQL Reference Guide
- Heroku Deployment Guide
- Getting Started with Git
- Using the GraphQL Playground in a MERN application
- Professional README Guide
- Regular Expression Tutorial
- How to Install the Heroku CLI
- How to Install NodeJS
- Deploy with Heroku and MySQL
- Deploy with Heroku and MongoDB Atlas
- Set Up MongoDB Atlas