[英]how to reconnect mongoose default connection?
我的app.js包含
exports.getDatabaseConnection = function (dbname, uname, psw) {
mongoose.disconnect();
mongoose.connect('mongodb://' + uname + ':' + psw + '@localhost:27017/' + dbname);
}
并且index.js是
router.post('/chooseDb', function (req, res) {
var temp = req.body.country;
if (temp === "india") {
var uname = 'abc';
var psw = 'abc123';
var dbname = 'demoDB';
app.getDatabaseConnection(dbname, uname, psw);
res.json('done');
}
else if (temp === "finland") {
var uname = 'xyz';
var psw = 'xyz123';
var dbname = 'testDB';
app.getDatabaseConnection(dbname, uname, psw);
res.json('done');
}
})
当我第一次连接到印度时,它工作正常,但是第二次,当我使用芬兰调用chooseDb api时,出现错误,例如: 错误:尝试打开未关闭的连接。 对于mongoose.createConnection我尝试了类似的架构
var mongoose = require('mongoose');
var schema = mongoose.Schema;
var db=require('../app.js');
var garageSchema = new schema({ id: String, name: String, address: String });
module.exports = db.model('garage', garageSchema);
这给我一个错误db.model不起作用
使用-连接
mongoose.createConnection('mongodb://' + uname + ':' + psw + '@localhost:27017/' + dbname)
而不是connect()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.