Как динамически создать соединение с базой данных в Node.js? - PullRequest
0 голосов
/ 20 сентября 2018

Я создал API с помощью фреймворка express.js на сервере Node.js.Моя база данных 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 голосов
/ 20 сентября 2018

Вы можете сделать подобное: Здесь ссылка на ссылку: 1. стек 2. документы , узелDBConnection

    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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...