维护一致的数据库连接对于 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 模块是导入并调用 connectToServer 函数建立数据库连接。
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中文网其他相关文章!