在 Node.js 应用程序中重用 MongoDB 连接
在 Node.js 应用程序中,有效管理数据库连接对于性能和可扩展性至关重要。最佳实践之一是在整个应用程序中共享相同的 MongoDB 连接,以避免多个连接并提高效率。然而,实现此目的的最佳方法可能会令人困惑。
建议的方法及其缺点
一种建议的方法是在主 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 中,您可以连接到数据库并启动应用程序:
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中文网其他相关文章!