Integración de base de datos en Express.js

Express es un marco minimalista que funciona junto con Node.js y proporciona funciones destacadas para ejecutar un servidor back-end y mucho más. Como sabe, la base de datos juega un papel vital en una aplicación completamente funcional para conservar los datos. En este artículo, vamos a discutir cómo podemos integrar una base de datos en un servidor que funciona con el marco Express.js.

Paso 1: Cree una aplicación Express 

Aquí vamos a crear una aplicación express porque todo nuestro trabajo se ejecutará dentro de express. Puede omitir este paso si se siente cómodo con estas cosas.

Escriba estos comandos en su terminal para iniciar una aplicación de Node y luego instale express. Asegúrese de haber instalado correctamente npm. El inicio de npm le pedirá alguna configuración sobre su proyecto y eso es muy fácil de proporcionar.

npm init
npm install express

Ahora crea un archivo .js vacío (llamémoslo app.js ), esta sería nuestra estructura de carpetas,

Entonces, estamos listos para comenzar a escribir el código express dentro de este archivo app.js

Javascript

//Importing express module
const express = require('express');
 
const app = express();
const PORT = 3000;
 
app.listen(PORT, (error) =>{
    if(!error)
        console.log("Server is Successfully Running, "
            + "and App is listening on port "+ PORT)
    else
        console.log("Error occurred, server can't start", error);
    }
);

Nota: consulte este enlace si desea obtener más información sobre la inicialización de las aplicaciones express.

Paso 2: ejecutar el servidor

en este paso, vamos a confirmar si nuestro servidor está funcionando o no. Escriba este comando en su terminal para iniciar el servidor express. El inicio exitoso del servidor indica que nuestra aplicación Express está lista para escuchar la conexión en la ruta especificada ( localhost: 3000 en nuestro ejemplo).

node app.js

Algo como esto se le mostrará en la terminal.

Paso 3: Integrar la base de datos

Aquí viene la parte más interesante que está buscando. Ahora integraremos la base de datos con express. Pero antes de eso, tenemos que elegir una de las opciones de base de datos, es decir, MongoDB, MySQL, PostgreSQL, Redis, SQLite y Cassandra, etc.   
MongoDB y MySQL son las más populares y utilizadas por numerosos desarrolladores, por lo que vamos a discutir solo estas. dos. Además, son totalmente diferentes, por lo que tendrá la oportunidad de explorar más, una es una base de datos NoSQL orientada a documentos y la otra es una base de datos de modelo relacional. 

Nota: – Depende de usted si desea utilizar un servicio de base de datos en la nube o localhost, solo existe una pequeña diferencia. Es bueno saber cómo acceder a una base de datos en la nube, por lo que aquí también analizaremos un ejemplo de servicio en la nube.

MongoDB

  • Instale mongoose, un paquete creado en el controlador nativo `mongodb`, para interactuar con la instancia de MongoDB y modelar los datos de la aplicación express/node.
npm install mongoose
  • Instalar MongoDB

Ya sea que sea un usuario de Linux, Windows o Mac, los documentos oficiales proporcionan un procedimiento simple para instalar MongoDB en su máquina local.
Haga clic aquí para la instalación: – Windows | Ubuntu | mac OS  | Otros

Después de la instalación, podrá usar MongoDB en su terminal, también puede instalar mongo compass, una aplicación GUI para interactuar con la base de datos.

  • Integrar con la aplicación express

Explicación: –   En primer lugar, importaremos el módulo mongoose y luego llamaremos al método de conexión , acepta una string de conexión y un objeto con algunas configuraciones. La «Integración Express» escrita dentro de la string de conexión es el nombre aleatorio de la base de datos. el resto todo viene bajo la sintaxis. Este método proporciona una promesa a cambio, por eso estamos usando el bloque then y catches. En la conexión exitosa con la base de datos, llamará al método de escucha con el objeto de la aplicación para iniciar el servidor express; de lo contrario, simplemente ejecutará un error de inicio de sesión de la consola. 

Nombre de archivo: app.js

Javascript

//Importing modules
const express = require('express');
const mongoose = require('mongoose');
 
const app = express();
const PORT = 3000;
//Connection to the mongodb database
mongoose.connect('mongodb://localhost:27017/ExpressIntegration')
.then(()=>{
    app.listen(PORT, ()=>{
        console.log("Database connection is Ready "
        + "and Server is Listening on Port ", PORT);
    })
})
.catch((err)=>{
    console.log("A error has been occurred while"
        + " connecting to database.");   
})

Salida: Inicie el servidor con el comando ` node app.js ` y esto se mostrará en la terminal, lo que significa que podemos integrar con éxito la base de datos MongoDB.

Acceda al servicio en la nube
Vaya a mongodb.com y regístrese/inicie sesión usted mismo, y consulte la nube de mongodb, luego verá algo como esto: 

Aquí haga clic en conectar, y luego le pedirá algunas configuraciones, como si desea usar una base de datos en la nube para un mongo shell, una aplicación o Mongo Compass (una GUI). Elegiremos conectar su aplicación. Más tarde le preguntará sobre el controlador y la versión, elija node.js y la última versión.
Y finalmente, proporcionará una string que se utilizará para integrar esta base de datos en un servidor express. También proporciona una interfaz de usuario web para monitorear y configurar la base de datos. 
Ahora simplemente reemplace la string localhost anterior con esta. Con todo esto, su base de datos en la nube está lista para usar.

mysql

  • Instale el controlador mysql para la aplicación express/node.
npm install mysql
  • Instalar MySQL

Antes de usar la base de datos local, debe tener mysql instalado en su sistema local, vaya a los enlaces oficiales de MySQL que se proporcionan a continuación, proporcionan un procedimiento simple para la instalación.
Haga clic aquí para la instalación: – Windows | linux | Mac OS

Después de la instalación, podrá usar la base de datos MySQL con su terminal, también puede usar cualquier GUI como PHPMyAdmin y MySQL workbench, etc. para interactuar con la base de datos.

  • Integrar con la aplicación express

Explicación: –   En primer lugar, importaremos el módulo mysql y luego el método createConnection toma algunas configuraciones sobre la base de datos y nos proporciona un objeto de conexión a cambio. Este objeto de conexión se usará para llamar al método de conexión que conecta la aplicación con la base de datos y proporciona un objeto de error en caso de falla y threadID en caso de conexión exitosa. Esta conexión terminará cuando el programa termine de ejecutarse o cuando la conexión llame al método final, es decir, connection.end() .
Después de la conexión exitosa, llamamos al método de escucha de la aplicación express que inicia el servidor.

Nombre de archivo: app.js

Javascript

//Importing modules
const express = require('express');
const mysql = require('mysql');
 
const app = express();
const PORT = 3000;
 
// Create a connection to the database
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'yourpassword',
  database: "ExpressIntegration"       
});
 
// open the MySQL connection
connection.connect(error => {
    if (error){
        console.log("A error has been occurred "
            + "while connecting to database.");       
        throw error;
    }
     
    //If Everything goes correct, Then start Express Server
    app.listen(PORT, ()=>{
        console.log("Database connection is Ready and "
             + "Server is Listening on Port ", PORT);
    })
});

Salida: Inicie el servidor con el comando ` node app.js ` y esto se mostrará en la terminal, lo que significa que podemos integrar con éxito la base de datos MySQL.

Acceder al servicio en la nube 
Hay muchos proveedores de servicios con los que se puede trabajar, aquí voy a utilizar el sencillo Clever-Cloud MySQL hosting. Haga clic aquí para continuar en el sitio web y luego regístrese/inicie sesión usted mismo, luego consulte la consola del sitio web. Verás algo como esto, 

  • Haga clic en espacio personal y luego en crear. Ahora, elija un complemento y luego seleccione MySQL de la lista de complementos. Le solicitará el nombre de la base de datos, le proporcionará lo que desee y luego seleccionará la zona.
  • Finalmente, haga clic en siguiente y ahora proporcionará las credenciales de la base de datos, utilícelas en su aplicación Express para acceder a esta base de datos. También puede exportar las variables de entorno para evitar hacer este tipo de copia y pegado. Clever-Cloud también proporciona una interfaz de usuario web con PHPMyAdmin para que pueda configurar y administrar fácilmente su base de datos.
  • Ahora simplemente reemplace los datos escritos dentro del objeto que se pasa al método createConnection con los datos y las credenciales proporcionadas por la nube inteligente, y podrá acceder a esta base de datos.

Nota: Es posible que haya notado que nos estamos conectando al servidor express solo después de una conexión exitosa a la base de datos, es solo una convención porque la aplicación puede funcionar bien solo cuando cada servidor se está ejecutando. Aunque nadie le impide iniciar el servidor después o antes de la conexión a la base de datos.

Conclusión: ahora hemos integrado con éxito la base de datos con la aplicación express. Puede realizar cualquier operación permitida en la base de datos para lograr el propósito de su solicitud expresa. Si se quedó atascado en algún paso, consulte los documentos oficiales y busque su consulta para obtener asistencia. Todas las tecnologías utilizadas en este artículo tienen un buen soporte de la comunidad, por lo que probablemente alguien ya haya recibido una respuesta para el problema que está presenciando actualmente. 
Estos son los enlaces que debe visitar como siguiente paso de este artículo, CRUD en MongoDB y Consulta básica en MYSQL .

Publicación traducida automáticamente

Artículo escrito por mrtwinklesharma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *