Я намагаюся зрозуміти, як структурувати мою програму так, щоб використовувати MySQL найбільш ефективно. Я використовую модуль node-mysql. Інші потоки тут пропонували використовувати пул з'єднань, тому я встановив невеликий модуль mysql.js
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'root',
database : 'guess'
});
exports.pool = pool;
Тепер, коли я хочу запитати mysql, мені потрібен цей модуль, а потім запитую databse
var mysql = require('../db/mysql').pool;
var test = function(req, res) {
mysql.getConnection(function(err, conn){
conn.query("select * from users", function(err, rows) {
res.json(rows);
})
})
}
Це хороший підхід? Я насправді не міг знайти занадто багато прикладів використання підключень mysql, крім дуже простого, де все робиться в основному скрипті app.js, тому я насправді не знаю, що таке конвенція / найкращі практики.
Чи завжди слід використовувати connection.end () після кожного запиту? Що якщо я десь забуду про це?
Як переписати частину експорту мого модуля mysql, щоб повернути лише підключення, щоб мені не потрібно було писати getConnection () щоразу?
connection.queryповсюдне місце в моєму коді" - напевно, час рефакторувати. Побудувати клас абстракції бази даних , яка пропонуєselect,insert,updateі т.д. - і тільки використовуватиconnection(абоpool) в межах цього одного класу дб ...