ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js モジュール間でデータベース接続を効率的に共有するにはどうすればよいですか?
Node.js アプリケーションをシームレスに操作するには、一貫したデータベース接続を維持することが重要です。接続を何度も再確立する必要を回避するには、異なるモジュール間で確実に接続を共有する戦略を実装することが不可欠です。
元のクエリで説明されているアプローチには、データベースを管理する中央オブジェクトの作成が含まれます。接続とそのモジュールへの配布に欠陥があります。代わりに、モジュールベースのソリューションを採用することをお勧めします。
このモジュールは、データベース接続管理のための集中リポジトリとして機能します。 MongoDB への接続の確立とデータベース インスタンスの取得の両方の関数が定義されています。
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 では、mongoUtil モジュールは次のようになります。
var mongoUtil = require( 'mongoUtil' ); mongoUtil.connectToServer( function( err, client ) { if (err) console.log(err); // start the rest of your app here } );
他のモジュールまたはファイルでは、mongoUtil モジュールをインポートして共有ファイルを取得できます。 getDb 関数を使用してデータベース インスタンスを使用します。
var mongoUtil = require( 'mongoUtil' ); var db = mongoUtil.getDb(); db.collection( 'users' ).find();
このモジュールベースのアプローチを活用すると、アプリケーション内のすべてのモジュールが、複数の接続や潜在的な接続を必要とせずに、単一の共有データベース接続にアクセスできるようになります。不一致。
以上がNode.js モジュール間でデータベース接続を効率的に共有するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。