Cuando llamas a mongoose.connect
, establecerá una conexión con la base de datos.
Sin embargo, adjunta el detector de eventos para open
en un momento mucho más tarde (cuando se está manejando una solicitud), lo que significa que la conexión probablemente ya esté activa y el open
el evento ya ha sido llamado (solo que aún no lo estabas escuchando).
Debe reorganizar su código para que el controlador de eventos esté lo más cerca posible (en el tiempo) de la llamada de conexión:
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');
};