如何在Node.js中动态创建数据库连接?

时间:2018-09-20 06:34:31

标签: mysql node.js express

我已经在Node.js服务器中使用express.js框架创建了API。我的数据库是mysql。我能够创建与数据库的连接。下面是连接代码。

现在,我想动态创建连接。我有2个数据库(databaseFirst和databaseSecond)。

var mysql=require('mysql');

var connection=mysql.createPool({
    host:'localhost',
    user:'root',
    password:'',
    database:'databaseFirst'
});

module.exports=connection;

1)用户将使用databaseFirst登录。

2)成功登录后,他们将获得数据库名称,如databaseSecond。现在,所有其他API都会对该登录用户使用databaseSecond。

3)每个API都会发送数据库名称,以便他们可以标识该用户正在使用哪个数据库。

请帮助我。

1 个答案:

答案 0 :(得分:0)

您可以执行类似操作: 这里是参考链接:1。stack 2。documentsnodeDBConnection

    var connection;
function createConnectionDB (host,dbName,userName,password) {
   connection[dbName] = mysql.createConnection({
    host     : host,
    user     : userName,
    password : password,
    database : dbName
  });
  connection[dbName].connect();
};




  // In API when You getting DBName 'db1' you can use
  createConnectionDB('localhost','db1','username','password')
  connection['db1'].query('SELECT * from < table name >', function(err, rows, fields) {
    if (!err)
      console.log('The solution is: ', rows);
    else
      console.log('Error while performing Query.');
  });
  connection['db1'].end();

  ////So API when You getting DBName ('db2') you can use
  createConnectionDB('localhost','db2','username','password')
  connection['db2'].query('SELECT * from < table name >', function(err, rows, fields) {
    if (!err)
      console.log('The solution is: ', rows);
    else
      console.log('Error while performing Query.');
  });
  connection['db2'].end();