sql >> データベース >  >> NoSQL >> MongoDB

next.jsとmongodbatlas-設定された制限の接続%が80アラートを超えました

    次の理由で接続を再利用する必要があります。

    1. すべてのAPIリクエストでDB接続を開いたり閉じたりするのは遅いです。
    2. スケーラブルではありません。ユーザーごとに同時にいくつかのAPIリクエストを行うと仮定すると、アプリがより多くのユーザーを獲得すると、同じ接続制限にすぐに到達します。

    Node.js WebアプリケーションでMongoDB接続を管理するにはどうすればよいですか?

    デフォルトのMongoClient 構成には、プールごとの接続の最大数があります(poolSize5に設定 。したがって、実行しているアプリインスタンスが1つだけで、クライアントがすでに接続されているかどうかを確認している場合は、MongoDBAtlasで最大5つを超える接続が表示されることはありません。

    if (!client.isConnected()) {
      await client.connect();
    }
    

    Next.jsは、開発モード(next dev)のすべてのリクエストで「再起動」することに注意してください。 )そしてそれはMongoClientに影響を与えるようです キャッシュし、多くの接続を作成します。ただし、本番モードでは、この問題は発生しないはずです。



    1. awsでmongodbを使用するノードjsアプリをデプロイする

    2. mongoシェルクエリでネストされた配列の一致するフィールドのみを投影する方法

    3. BSONとは何ですか?JSONとは正確にどのように異なりますか?

    4. DBRefs(Mongoドキュメント参照)が熱心にフェッチされていない