Здравствуйте, товарищи! Помогите пожалуйста разобраться. Пытаюсь правильно организовать запрос к
MySQL базе данных из
Node.JS приложения.
В проекте Node.JS при первом запуске сервера вызываю модуль, который создает пул для базы данных MySQL. Выглядит этот модуль следующим образом:
const mysql = require('mysql');
const configuration = require('../config/mysql_database');
async function initialization() {
await mysql.createPool(configuration);
}
module.exports.initialization = initialization;
Далее в проекте при обращении к определенному url адресу запускаю контроллер, который вызывает функцию для выполнения нативного SQL запроса. Выглядит она следующим образом:
mysql_database.js:
function executeSQLStatement(query, binds = []) {
return new Promise(async (resolve, reject) => {
let connection;
try {
const result = await mysql.query(query, binds, function (error, results, fields) {
if (error) throw error;
});
resolve(result);
} catch (error) {
reject(error);
} finally {
if (connection) {
try {
await connection.close();
} catch (error) {
console.log(error);
}
}
}
});
}
module.exports.executeSQLStatement = executeSQLStatement;
Ошибка в терминале:
TypeError: mysql.query is not a function
at new Promise (<anonymous>)
500 at Object.executeSQLStatement
Из официальной документации (
ссылка) видно, что при выполнении запроса, каждый раз создают пул. Насколько это правильно?