[解決済み] Node.jsのWebアプリケーションでMongoDBの接続を管理するにはどうすればよいですか?
2022-03-17 21:07:16
質問内容
を使用しています。 node-mongodb-native ドライバとMongoDBを組み合わせてウェブサイトを作成します。
コネクションの管理方法について、いくつか質問があります。
-
すべてのリクエストに1つのMongoDB接続だけを使用すれば十分ですか?パフォーマンスの問題はないですか?そうでない場合、アプリケーション全体で使うグローバルな接続を設定できますか?
-
そうでない場合、リクエストが来たときに新しいコネクションをオープンし、リクエストを処理したときにそれをクローズすれば良いのでしょうか?コネクションをオープンしたりクローズしたりするのはコストがかかりますか?
-
グローバルコネクションプールを使用した方が良いですか?ドライバにはネイティブコネクションプールがあると聞きました。それは良い選択ですか?
-
コネクションプールを使用する場合、接続数はいくつにすればよいですか?
-
その他に注意すべき点はありますか?
解決方法は?
node-mongodb-native の主要なコミッターは次のように述べています。 :
<ブロッククオートアプリ起動時に一度だけ MongoClient.connect を実行し、再利用することができます。 を使用します。これはシングルトン接続プールではなく、各 .connect は新しい接続プールを作成します。
では、ご質問に直接お答えします。
の結果のdbオブジェクトを再利用します。
MongoClient.connect()
. これによりプーリングが可能になり、各dbアクションでコネクションをオープン/クローズするのに比べ、顕著なスピードアップを実現します。
関連
-
[解決済み] エラーメッセージ MongoError: bad auth URI 文字列で認証に失敗しました。
-
[解決済み] DynamoDBで一括削除するにはどうしたらいいですか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Nodejs: Errorを解決する方法。ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み] テスト
-
[解決済み】ブロックスコープの宣言は、ストリクトモード以外ではまだサポートされていません。
-
[解決済み】passport.js passport.initialize() ミドルウェアが使用されていません。
-
[解決済み】AWS lambda function エラー - モジュール 'index' をインポートできません。エラー
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] ブラウザで動作しているURLで「connect ETIMEDOUT」エラーが発生する原因は何ですか?
-
[解決済み] エラーメッセージ MongoError: bad auth URI 文字列で認証に失敗しました。
-
[解決済み] バルク更新を行う。
-
[解決済み] NPMが同じエラーで固まる EISDIR: ディレクトリに対する不正な操作、エラーで読み込み (ネイティブ)