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

zbsbpyhn  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(377)

我已经在node.js服务器中使用express.js框架创建了api。我的数据库是mysql。我能够创建与数据库的连接。下面是连接代码。
现在我想动态地创建连接。我有两个数据库(databasefirst和databasesecond)。

var mysql=require('mysql');

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

module.exports=connection;

1) 用户将首先使用数据库登录。
2) 成功登录后,他们将获得数据库名称,如databasesecond。现在所有其他api都将使用databasesecond作为登录用户。
3) 每个api都将发送数据库名称,以便它们能够识别该用户正在使用哪个数据库。
请帮帮我。

twh00eeo

twh00eeo1#

您可以执行类似的操作:here reference link:1.stack 2.documents,nodedbconnection

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

相关问题