すでにデータベースに接続している場合は、once
イベントは二度と発生しません。データベースがグローバルに接続されたとき(関数の外部)、データベースはNodeJsプロセス全体ですでに接続されていました。
mongoose.connect('mongodb://localhost/test');
の呼び出し 接続を確立して開きます。
したがって、関数呼び出しごとに開く代わりに(MongoDBと対話するための非効率的な方法になります)connect
NodeJsアプリが起動したらすぐに、接続が利用できない期間があることを考慮してください(非同期であるため)、またはアプリを起動しないでください(listen
)接続が完了するまで(またはタイムアウトが発生するまで)。 Mongooseを使用すると、接続が確立されるまで、すべてのコマンドがバッファリングされます(ただし、これは目的の動作ではない場合があります)。 open
を使用できます 接続がいつ完了したかを知りたい場合は、イベント。
接続はここにあります:mongoose.connection
connect
を使用する場合 接続を作成する関数。
接続が開かれると、popSingleData
から接続を使用できます once
を使用せずに機能する イベントとコールバック。自動的に維持される接続プールがあります。
接続の詳細については、こちら をご覧ください。 。