ホームページ > 記事 > ウェブフロントエンド > Node.js アプリケーションで MongoDB 接続を効率的に再利用するにはどうすればよいですか?
Node.js アプリケーションでの MongoDB 接続の再利用
Node.js アプリケーションでは、データベース接続を効率的に管理することがパフォーマンスとスケーラビリティにとって重要です。ベスト プラクティスの 1 つは、アプリケーション全体で同じ MongoDB 接続を共有して、複数の接続を回避し、効率を向上させることです。ただし、これに対する最適なアプローチは混乱を招く可能性があります。
提案されたアプローチとその欠点
提案されたアプローチの 1 つは、メインの server.js ファイルでデータベース接続を確立することです。そして接続オブジェクトを他のモジュールに渡します。このアプローチには、モジュール内で接続を再利用し、開いたままにしておくことができるという利点があります。ただし、いくつかの問題も引き起こします。
モジュールを使用した改善されたアプローチ
上記を強化するにはこのアプローチでは、接続プロセスをカプセル化し、MongoDB データベース インスタンスを取得するメソッドを提供する専用のデータベース ユーティリティ モジュールを作成することをお勧めします。
そのようなモジュール (mongoUtil.js) の例を次に示します。
const MongoClient = require('mongodb').MongoClient; const url = "mongodb://localhost:27017"; var _db; module.exports = { connectToServer: function( callback ) { MongoClient.connect( url, { useNewUrlParser: true }, function( err, client ) { _db = client.db('test_db'); return callback( err ); } ); }, getDb: function() { return _db; } };
app.js では、データベースに接続して、 application:
var mongoUtil = require('mongoUtil'); mongoUtil.connectToServer( function( err, client ) { if (err) console.log(err); // start the rest of your app here } );
他のモジュール内で、次のようにデータベース インスタンスにアクセスできます:
var mongoUtil = require('mongoUtil'); var db = mongoUtil.getDb(); db.collection('users').find();
利点:
以上がNode.js アプリケーションで MongoDB 接続を効率的に再利用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。