Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como uso a(s) mesma(s) conexão(ões) MySQL para todo o meu aplicativo Node.js?


Você pode criar um módulo separado, chame-o de mysqlLib.js que será responsável por criar um pool e retornar as conexões:
var mysql = require("mysql");
var pool = mysql.createPool(/* credentials go here */);

exports.getConnection = function(callback) {
  pool.getConnection(function(err, conn) {
    if(err) {
      return callback(err);
    }
    callback(err, conn);
  });
};

e em qualquer módulo/arquivo que precise de uma conexão mysql, você pode fazer isso:
var mysqlLib = require("mysqlLib");

mysqlLib.getConnection(function(err, mclient) {
  //do queries that you need
});

A maneira como require() funciona, o código em mysqlLib.js será executado apenas uma vez, então apenas um pool será criado mesmo se require("mysqlLib.js"} é chamado em vários arquivos. Consulte esta seção dos documentos do node.js para obter uma explicação sobre o cache do módulo.