簡體   English   中英

如何使用ExpressJS訪問多個數據庫?

[英]How I can access multiple DB using ExpressJS?

我有一台服務器,具有3個具有相同表的數據庫。

DB1,DB2和DB3。

當我使用數據庫時,我使用:

app.js

var cnxDB= require('./routes/cnxDB');
app.post('/userSave', cnxDB.userSave);

cnxDB.js:

var sql = require('mssql'); 
var qs = require('querystring');
var colors = require('colors');
var config = {user: 'user',password: 'pass',server: '127.0.0.1',database: nameDB',
    options: {
        encrypt: false
    }
};
sql.connect(config, function(err) {
   //Connection
});
exports.userSave = function(req, res) {
    //response
};

初始化應用程序時,將立即建立與數據庫的連接。

我需要知道如何選擇數據庫。

app.post('/selectBD', function(req, res){
  var body = req.body; // accede a la información enviada por el socket
  console.log(body);
  if(body.cnx == 1)
  {
    var cnx = require('./routes/bdUno');
    app.get('/yuri', cnx.findall);
  }
  if(body.cnx == 2)
  {
    var cnx = require('./routes/bdDos');
    app.get('/yuri', cnx.findall);
  }
  if(body.cnx == 3)
  {
    var cnx = require('./routes/bdTres');
    app.get('/yuri', cnx.findall);
  }

  res.status(200).json("Ok");
});

謝謝。

cnxDB.js設置3個連接:

var connections = {
    <dbname>: null,
    <dbname>: null,
    <dbname>: null
}

轉到mssql並查看“快速示例”。 它創建一個連接並將其保存在變量中。 您希望對每個數據庫執行3次操作,並將它們保存在相應數據庫名稱下的connections

然后,您從cnxDB.js導出的函數應該可以知道您要使用哪個數據庫。 從外觀上看,您希望對該請求的正文中需要使用的數據庫有所了解。 您可以使用它來選擇數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM