考虑一下,我在 main 中打开了 MongoDB 连接app.js
文件本身和以下代码落在它的回调中:
mongodb.connect('MongoDBUrlGoesHere', function (err, db) {
app.listen(app.get('port'), function AppListnCB() {
console.log("Server listening on port " + app.get('port'));
});
});
完成这一切是为了在应用程序中只有一个数据库实例。
现在,如果我们在另一个external.js
文件并需要相同的db
已经连接的对象。如果我们使用的话,这可以很容易地完成蒙古皮 or mongoose
有人可以帮助我找到如何使用本机驱动程序来完成此操作吗?
您可以编写一个包装器,一个存储数据库实例的新模块,类似于以下内容:
//db.js
var HOSTNAME = ...
var PORT = ...
var db = module.exports = {};
var instance;
db.connect = function (){
...
instance = <db_instance>;
};
db.disconnect = function (){
...
instance = null;
};
db.instance = function (){
return instance;
};
现在,每次您需要数据库实例时,都可以通过执行以下操作来检索它:
var db = require ("./path/to/db");
db.instance ();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)