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

Como fornecer uma conexão de banco de dados mysql em um único arquivo em nodejs


Você pode criar um wrapper de banco de dados e exigi-lo. node's require retorna a mesma instância de um módulo todas as vezes, então você pode realizar sua conexão e retornar um handler. Dos documentos Node.js :

Você pode criar db.js :
var mysql = require('mysql');
var connection = mysql.createConnection({
    host     : '127.0.0.1',
    user     : 'root',
    password : '',
    database : 'chat'
});

connection.connect(function(err) {
    if (err) throw err;
});

module.exports = connection;

Em seguida, em seu app.js , você simplesmente o exigiria.
var express = require('express');
var app = express();
var db = require('./db');

app.get('/save',function(req,res){
    var post  = {from:'me', to:'you', msg:'hi'};
    db.query('INSERT INTO messages SET ?', post, function(err, result) {
      if (err) throw err;
    });
});

server.listen(3000);

Essa abordagem permite que você abstraia quaisquer detalhes de conexão, envolva qualquer outra coisa que você queira expor e exija db em todo o seu aplicativo, mantendo uma conexão com seu banco de dados, graças à forma como o node require funciona :)