Когато извикате mongoose.connect
, ще установи връзка с базата данни.
Въпреки това прикачвате слушателя на събитие за open
в много по-късен момент (когато се обработва заявка), което означава, че връзката вероятно вече е активна и open
събитието вече е извикано (вие просто още не сте го слушали).
Трябва да пренаредите кода си така, че манипулаторът на събитие да е възможно най-близо (по време) до повикването за свързване:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback () {
console.log("h");
});
exports.test = function(req,res) {
res.render('test');
};