2013-01-06 166 views
0

我目前在./routes下的每個文件中都有以下代碼。node.js,node-mongodb-native,DRY連接?

var mongo = require('mongodb'); 
var config = require('../config/config'); 

var Server = mongo.Server, 
    Db = mongo.Db, 

var server = new Server(config.DatabaseConfig.host, config.DatabaseConfig.port, {auto_reconnect: true}); 
db = new Db('test', server); 

db.open(function(err, db) { 
    if(!err) { 
     console.log("Connected to 'test' database"); 
     db.collection('testcollection', {safe:true}, function(err, collection) { 
     }); 
    } 
}); 

有沒有辦法讓我在中心位置打開這個連接?是否普遍接受每個對象在數據庫中都有自己的集合?

回答

1

我在主應用程序入口點打開數據庫一次,並且不要調用app.listen,直到數據庫連接建立。

db.open(function(err) { if(!err) app.listen(3000); });

+0

的方式我終於做到了,被附接分貝app.db和'module.exports.app =應用;'。通過這種方式,這個連接可以在任何有'app'的地方使用。 –