2013-06-22 37 views
2

考慮,我的MongoDB連接在主app.js文件本身,並打開它下面的代碼秋天的回電:如何從節點mongo本機驅動程序獲取db的實例?

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已連接的對象。如果我們正在使用mongoskinmongoose

有人可以幫我找到如何用原生驅動程序完成這項工作嗎?

回答

2

你可以寫一個包裝,您存儲的數據庫實例的新模塊,類似這樣:

//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(); 
相關問題