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.

Respuestas a la pregunta(2)

Su respuesta a la pregunta