【发布时间】:2019-09-10 07:26:13
【问题描述】:
我是 nodejs 和 api 开发的新手,我编写了以下代码来创建与数据库的连接并通过调用 connection.query 来使用它们。
这是创建连接模块并在我的模型类中调用它们的代码。我必须动态传递数据库,因为在我的项目中可能有多个数据库。
它正在创建多个数据库连接。如何将其更改为应在整个应用程序中使用的单个数据库连接,快速而无需对代码进行太多更改。
db.js:
var mysql = require('mysql');
module.exports = dbConnection = (dbname) => {
console.log('mysql inside dynamic db...');
return connection = mysql.createConnection({
host: process.env.DBHost || 'localhost',
port: process.env.DBPort || 3306,
user: process.env.DBUser || 'root',
password: process.env.DBPassword || '',
database: process.env.DBName || dbname
});
};
查询:
//get financial year
Employee.getYear = function getYear(req_decoded, result) {
var myPromise = dbname(req_decoded);
myPromise.then(function(myDBName) {
new_conn(myDBName).query("Select id,name from " + myDBName + ".financial_year", function(err, res) {
if (err) {
//console.log("error: ", err);
result(null, err);
} else {
result(null, JSON.stringify({
"statusCode": 200,
"status": "success",
"data": res
}));
}
});
});
};
我正在从另一个数据库中获取数据库名称,并使用 promise 来获取数据库名称。
任何帮助将不胜感激。
【问题讨论】:
标签: node.js database api database-connection