次の理由で接続を再利用する必要があります。
- すべてのAPIリクエストでDB接続を開いたり閉じたりするのは遅いです。
- スケーラブルではありません。ユーザーごとに同時にいくつかのAPIリクエストを行うと仮定すると、アプリがより多くのユーザーを獲得すると、同じ接続制限にすぐに到達します。
Node.js WebアプリケーションでMongoDB接続を管理するにはどうすればよいですか?
デフォルトのMongoClient
構成には、プールごとの接続の最大数があります(poolSize
)5
に設定 。したがって、実行しているアプリインスタンスが1つだけで、クライアントがすでに接続されているかどうかを確認している場合は、MongoDBAtlasで最大5つを超える接続が表示されることはありません。
if (!client.isConnected()) {
await client.connect();
}
Next.jsは、開発モード(next dev
)のすべてのリクエストで「再起動」することに注意してください。 )そしてそれはMongoClient
に影響を与えるようです キャッシュし、多くの接続を作成します。ただし、本番モードでは、この問題は発生しないはずです。