Как правильно передать MySQL соединение с маршрутами с помощью express.js

Я пытаюсь выяснить лучший способ передать соединение mysql (используя node-mysql) между моими маршрутами для express.js. Я динамически добавляю каждый маршрут (используя для каждого файлового цикла в маршрутах), что означает, что я не могу просто передать соединение на маршруты, которые в нем нуждаются. Мне либо нужно пройти его по всем маршрутам, либо вообще нет. Мне не понравилась идея передать его тем, кто в этом не нуждается, поэтому я создал файл dbConnection.js, который маршруты могут импортировать по отдельности, если это необходимо. Проблема в том, что я не думаю, что делаю это правильно. На данный момент мой dbConnection.js содержит:

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

И я импортирую его в каждый маршрут, используя:

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

Но я хотел бы сделать это так:

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

Однако, когда я пытаюсь сделать это, я получаю сообщение об ошибке, в котором говорится, что у соединения нет метода «запрос», когда я пытаюсь сделать запрос.

Ответы на вопрос(2)

Ваш ответ на вопрос