Mysql
 sql >> Database >  >> RDS >> Mysql

Come fornire una connessione al database MySQL in un singolo file in nodejs

È possibile creare un wrapper db quindi richiederlo. node's require restituisce ogni volta la stessa istanza di un modulo, quindi puoi eseguire la tua connessione e restituire un gestore. Dai documenti Node.js :

Potresti creare 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;

Quindi nel tuo app.js , lo avresti semplicemente richiesto.

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);

Questo approccio ti consente di astrarre qualsiasi dettaglio di connessione, avvolgere qualsiasi altra cosa tu voglia esporre e richiedere db in tutta la tua applicazione mantenendo una connessione al tuo db grazie a come funziona node require :)