Jak poprawnie przekazać połączenie mysql do tras z express.js

Próbuję znaleźć najlepszy sposób przekazania połączenia mysql (przy użyciu node-mysql) między moimi trasami dla express.js. Dynamicznie dodaję każdą trasę (używając a dla każdej pętli pliku w trasach), co oznacza, że ​​nie mogę po prostu przekazać połączenia do tras, które tego potrzebują. Muszę go przekazać na każdą trasę lub wcale. Nie podobał mi się pomysł przekazania go do tych, które go nie potrzebują, więc stworzyłem plik dbConnection.js, który trasy mogą indywidualnie importować, jeśli są potrzebne. Problem polega na tym, że nie sądzę, że robię to poprawnie. Od teraz moja dbConnection.js zawiera:

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

I importuję go na każdą trasę, używając:

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

Ale chciałbym to zrobić w ten sposób:

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

Jednak gdy próbuję to zrobić, pojawia się błąd mówiący, że połączenie nie ma metody „zapytanie”, gdy próbuję utworzyć zapytanie.

questionAnswers(2)

yourAnswerToTheQuestion