2013-01-06 168 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'的地方使用。 –