簡體   English   中英

如何重新連接貓鼬默認連接?

[英]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.

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