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

ExpressルーターでのmongoDBの使用

    一度接続して、すべてのハンドラーで使用する必要があります。

    現在行っているのは、データベースをまったく使用しないリクエストであっても、すべてのリクエストでデータベースに再接続することです。さらに、接続が確立されるのを待つ前に、next()を呼び出しています。

    データベース接続は永続的であることが意図されており、1回限りのものではないため、アプローチのパフォーマンスが非常に低下する可能性があり、なぜそうしたいのかさえわかりません。単一の接続で問題がありましたか?私はあなたのデータベースをそのように槌で打つことは役に立たないと思います。どちらかといえば、それは事態を悪化させるだけです。

    ネイティブのMongoDBNode.jsドライバー を使用してMongoに接続する場合 次のような、使用できるオプションがいくつかあります。

    • poolSize -個々のサーバーまたはプロキシ接続ごとに最大poolSizeを設定します(デフォルトは5です )
    • autoReconnect -エラー時に再接続します(デフォルトはtrue

    その他の興味深いオプションは次のとおりです。reconnectTriesreconnectIntervalkeepAliveconnectTimeoutMSsocketTimeoutMS

    デフォルトに満足できない場合は、これらのオプションの値を変更できます。

    詳細については、以下を参照してください:




    1. MongoDBはどういうわけかシングルコアに制限されていますか?

    2. Java MongoDBドライバーを使用して、正規表現と複雑な基準でコレクション検索をコーディングするにはどうすればよいですか?

    3. ワイルドカードテキストインデックスと継承されたスキーマ

    4. Redis 6はマルチコアCPUを利用できますか?