如何从节点mongo本机驱动程序获得数据库的实例?

考虑一下,我在主app.js文件中打开了MongoDB连接,下面的代码放在callbackapp.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对象。 如果我们使用蒙古语或mongoose,这可以很容易地完成

有人可以帮助我find如何使用本地驱动程序可以做到这一点?

你可以编写一个包装器,一个存储数据库实例的新模块,类似于这个:

 //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; }; 

现在,每次你需要db实例通过执行检索它:

 var db = require ("./path/to/db"); db.instance ();