sql >> Base de Datos >  >> RDS >> Mysql

Cómo proporcionar una conexión de base de datos mysql en un solo archivo en nodejs

Puede crear un contenedor de base de datos y luego solicitarlo. El requisito del nodo devuelve la misma instancia de un módulo cada vez, por lo que puede realizar su conexión y devolver un controlador. De los documentos de Node.js :

Podrías crear 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;

Luego en tu app.js , simplemente lo necesitaría.

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

Este enfoque le permite abstraer cualquier detalle de conexión, envolver cualquier otra cosa que desee exponer y requerir db a lo largo de su aplicación mientras mantiene una conexión a su base de datos gracias a cómo funciona el nodo require :)