我已经在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都会发送数据库名称,以便他们可以标识该用户正在使用哪个数据库。
请帮助我。
答案 0 :(得分:0)
您可以执行类似操作: 这里是参考链接: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();