这是我的实际数据库连接模块:
var mongoose = require('mongoose'),
conn = mongoose.createConnection('localhost', 'doto');
conn.on('error', function (err) {
console.log('Error! DB Connection failed.');
});
conn.once('open', function () {
console.log('DB Connection open!');
});
module.exports = conn;
并且我有一个使用它的地方
exports.list = function (req, res) {
var conn = require('../lib/db_connection');
conn.once('open', function () { // if i dont wrap with this, the page will not be rendered...
conn.db.collectionNames(function (err, names) {
res.render('list_collections', {
title: 'Collections list',
collections_names: names
});
});
});
}
我的问题是:我真的每次都需要使用conn.once吗?有什么建议吗?
答案 0 :(得分:1)
您应该将require
移到函数外部,以便在应用程序加载时打开连接,而不是等到第一个请求。
var conn = require('../lib/db_connection');
exports.list = function (req, res) {
conn.db.collectionNames(function (err, names) {
res.render('list_collections', {
title: 'Collections list',
collections_names: names
});
});
}