Como passar corretamente a conexão do mysql para rotas com express.js

Eu estou tentando descobrir a melhor maneira de passar uma conexão mysql (usando o node-mysql) entre minhas rotas para express.js. Estou adicionando dinamicamente cada rota (usando um para cada loop de arquivo em rotas), o que significa que não posso simplesmente passar a conexão para as rotas que precisam dela. Eu preciso passar para todas as rotas ou nenhuma. Eu não gostei da idéia de passá-lo para aqueles que não precisam dele, então eu criei um dbConnection.js que as rotas podem importar individualmente se precisarem. O problema é que eu não acho que estou fazendo isso corretamente. A partir de agora, meu dbConnection.js contém:

var mysql = require('mysql');
var db = null;
module.exports = function () {
    if(!db) {
            db = mysql.createConnection({
                socketPath: '/tmp/mysql.sock',
            user: '*********',
            password: '*********',
            database: '**********'
        });
    }
    return db;
};

E eu estou importando em cada rota usando:

var db = require('../dbConnection.js');
var connection = new db();

Mas eu gostaria de fazer assim:

var connection = require('../dbConnection.js');

Quando eu tento assim, no entanto, recebo um erro dizendo que a conexão não tem um método 'query' quando tento fazer uma consulta.

questionAnswers(2)

yourAnswerToTheQuestion