Saltar al contenido

¿Cómo Conectarse a una Base de Datos en Node JS?

10 junio, 2019

Cómo conectarse al servidor de base de datos MySQL desde una aplicación NodeJS. Hay algunas opciones para interactuar con MySQL desde una aplicación node.js.

¿Cómo Conectarse a una Base de Datos en NodeJS?

Le mostraremos cómo usar el controlador node.js para MySQL llamado mysqljs / mysql.

  • Primero, cree una carpeta para almacenar la aplicación node.js.
npm init
  • Segundo, instale el paquete node.js para MySQL usando el siguiente comando:
npm instale mysql
  • Tercero, cree el connect.js dentro de la carpeta node-mysql para almacenar el código que se conecta al servidor de base de datos MySQL.
  • Usaremos la base de datos de todoapp para la demostración, por lo tanto, debe crear la base de datos en su servidor de base de datos MySQL ejecutando la siguiente sentencia CREATE DATABASE:
CREATE DATABASE todoapp;
  • Una vez que se crea la base de datos, está listo para conectarse a ella desde la aplicación Node.js.

Conexión al Servidor de base de Datos MySQL desde Node.js

  • Primero, importe el módulo mysql usando la siguiente declaración:
let mysql = require ('mysql');
  • En segundo lugar, cree una conexión a la base de datos MySQL llamando al método createConnection () y proporcionando información detallada sobre el servidor MySQL, el host, el usuario, la contraseña y la base de datos.
let connection = mysql.createConnection ({
host: 'localhost',
usuario: 'root',
contraseña: '',
base de datos: 'todoapp'
});
  • Creamos una conexión a la base de datos de todoapp en el servidor de la base de datos local.
  • En tercer lugar, llame al método connect () en el objeto de conexión para conectarse al servidor de base de datos MySQL:
connection.connect (function (err) {
if (err) {
return console.error ('error:' + err.message);
}
console.log ('Conectado al servidor MySQL.');
});
  • El método connect () acepta una función de devolución de llamada que tiene el argumento de error que proporciona el error detallado si se produce algún error.

Probemos el Programa connect.js.

> node connect.js

Conectado al Servidor MySQL

Si ve el mensaje “conectado al servidor MySQL”, luego felicidades, se ha conectado correctamente al servidor de la base de datos MySQL desde la aplicación node.js.

Supongamos que la base de datos todoapps no existe en el servidor de la base de datos y que intenta conectarse a ella, aparecerá un mensaje de error:

> node connect.js
error: ER_BAD_DB_ERROR: base de datos desconocida 'todoapps'
Observe que todos los métodos que invoca en la conexión Los objetos se ponen en cola y se ejecutan en secuencia.
Cierre de la conexión de la base de datos
Para cerrar una conexión de la base de datos correctamente, llame al método end () en el objeto de conexión.
El método end () garantiza que todas las consultas restantes se ejecuten siempre antes de que se cierre la conexión de la base de datos.
connection.end (función (err) {
if (err) {
return console.log ('error:' + err.message);
}
console.log ('Cerrar la conexión de la base de datos.');
});

Para forzar que la conexión se cierre inmediatamente, puede usar el método destroy (). El método destroy () garantiza que no se activarán más devoluciones de llamada o eventos para la conexión.

connection.destroy ();

Tenga en cuenta que el método destroy () no toma ningún argumento de devolución de llamada como el método end ().

Conexiones de Agrupación

El controlador MySQL para el módulo node.js le proporciona una función integrada de agrupación de conexiones. Supongamos que desea crear un grupo de conexiones de 5:

var pool = mysql.createPool ({
connectionLimit: 5,
host: 'localhost',
usuario: 'root',
contraseña: '',
base de datos: 'todoapp'
});
Para obtener una conexión del grupo, use el método getConnection ():
pool.getConnection (función (err, connection) {
// execute query
// ...
});

Para Devolver una Conexión al Grupo una vez que haya Terminado

Puede llamar a connection.release (). Después de eso, la conexión estará disponible en el grupo y estará lista para ser utilizada por otra persona.

pool.getConnection (función (err, conexión) {
// ejecutar consulta
// ...
connnection.release ();
});

Para Cerrar una Conexión y Eliminarla de la Agrupación

  • Use el método connection.destroy (). Se creará una nueva conexión en el grupo si se necesita una la próxima vez.
  • Para cerrar todas las conexiones en el grupo, use el método end () del objeto del grupo de la siguiente manera:
pool.end (function (err) {
if (err) {
return console.log (err.message);
}
// cerrar todas las conexiones
});
¿Nos das 5 estrellas? ?