1. ホーム
  2. node.js

新しい接続を作成せずにmongooseの接続状態を確認する

2023-09-26 06:49:13

質問

いくつかのテスト (すなわち Supertest) で、Express アプリを読み込んでいます。このアプリは Mongoose 接続を作成します。テスト内からその接続の状態を確認する方法を知りたいのですが。

app.js で

mongoose.connect(...)

test.jsでは

console.log(mongoose.connection.readyState);

app.jsの接続にアクセスするにはどうすればよいですか?test.jsで同じパラメータを使って接続した場合、新しい接続が作成されるのでしょうか、それとも既存の接続を探すのでしょうか?

どのように解決するのですか?

mongoose モジュールはシングルトンオブジェクトをエクスポートするので、 接続のために test.js で接続の状態を確認する必要はありません。

// test.js
require('./app.js'); // which executes 'mongoose.connect()'

var mongoose = require('mongoose');
console.log(mongoose.connection.readyState);

ready states being:

  • 0: 接続が切れた状態
  • 1:接続中
  • 2: 接続中
  • 3: 接続を解除する