38

これは問題の単純化されたバージョンですが、基本的には mongoose で 2 つの mongodb 接続を開こうとすると、「閉じられていない接続を開こうとしています」というメッセージが表示されます。エラー。

コードサンプル:

var db1 = require('mongoose');
db1.connect('my.db.ip.address', 'my-db');

var db2 = require('mongoose');
db2.connect('my.db.ip.address', 'my-db');

db2.connection.close();
db1.connection.close();

それを機能させる方法はありますか?

4

7 に答える 7

2

テストの実行中にこの問題が発生します。

これは私がそれを解決するためにしたことです。

//- in my app.js file.
try {
    mongoose.connect('mongodb://localhost/userApi2'); //- starting a db connection
}catch(err) {
    mongoose.createConnection('mongodb://localhost/userApi2'); //- starting another db connection
}

于 2016-12-31T12:30:54.423 に答える
0

デフォルトの接続 (まだ閉じられていない) を 2 回開こうとしています。

代わりに次のことを行います

var db = require('mongoose'); //note only one 'require' needed.
var connectionToDb1 = db.createConnection('my.db1.ip.address', 'my-db1');
var connectionToDb2 = db.createConnection('my.db2.ip.address', 'my-db2');
于 2016-07-23T11:44:49.290 に答える
0

mongoose.disconnect(fn) の使用:

mongoose.disconnect(() => {

  // here it would be possible "reset" models to fix 
  // OverwriteModelError errors
  mongoose.models = {};

  // here comes your logic like registering Hapi plugins
  server.register(somePlugin, callback);
});

エラーメッセージを入力するこの質問を見つけました.私の問題は少し異なりますが、Hapiを使用している人には役立つと思います. より具体的には、ハピ+休息ハピ+モカ.

オプションで実行mochaすると、との両方に直面していました。--watchOverwriteModelErrorError: Trying to open unclosed connection errors

于 2017-02-17T15:42:38.437 に答える