Cómo pasar correctamente la conexión mysql a las rutas con express.js
Estoy tratando de descubrir la mejor manera de pasar una conexión mysql (usando node-mysql) entre mis rutas para express.js. Estoy agregando dinámicamente cada ruta (utilizando un para cada bucle de archivo en las rutas), lo que significa que no puedo simplemente pasar la conexión a las rutas que lo necesitan. O bien necesito pasarlo a todas las rutas o ninguna. No me gustó la idea de pasarlo a otros que no lo necesitan, así que creé un dbConnection.js que las rutas pueden importar individualmente si es necesario. El problema es que no creo que lo esté haciendo correctamente. A partir de ahora, mi dbConnection.js contiene:
var mysql = require('mysql');
var db = null;
module.exports = function () {
if(!db) {
db = mysql.createConnection({
socketPath: '/tmp/mysql.sock',
user: '*********',
password: '*********',
database: '**********'
});
}
return db;
};
Y lo estoy importando en cada ruta usando:
var db = require('../dbConnection.js');
var connection = new db();
Pero me gustaría hacerlo así:
var connection = require('../dbConnection.js');
Sin embargo, cuando lo intento de esta manera, aparece un error que dice que la conexión no tiene un método de "consulta" cuando intento realizar una consulta.