一度接続して、すべてのハンドラーで使用する必要があります。
現在行っているのは、データベースをまったく使用しないリクエストであっても、すべてのリクエストでデータベースに再接続することです。さらに、接続が確立されるのを待つ前に、next()を呼び出しています。
データベース接続は永続的であることが意図されており、1回限りのものではないため、アプローチのパフォーマンスが非常に低下する可能性があり、なぜそうしたいのかさえわかりません。単一の接続で問題がありましたか?私はあなたのデータベースをそのように槌で打つことは役に立たないと思います。どちらかといえば、それは事態を悪化させるだけです。
ネイティブの
-
poolSize
-個々のサーバーまたはプロキシ接続ごとに最大poolSizeを設定します(デフォルトは5
です ) -
autoReconnect
-エラー時に再接続します(デフォルトはtrue
)
その他の興味深いオプションは次のとおりです。reconnectTries
、reconnectInterval
、keepAlive
、connectTimeoutMS
、socketTimeoutMS
。
デフォルトに満足できない場合は、これらのオプションの値を変更できます。
詳細については、以下を参照してください:
- 接続の失敗と再試行
- MongoClientまたは新しいより良い接続方法方法
- チュートリアル/MongoDBに接続
- 参照/接続オプション/接続設定
- node.jsmongoドライバーの自動再接続に関する質問 (メーリングリスト)