Quando você chama
mongoose.connect
, ele estabelecerá uma conexão com o banco de dados. No entanto, você anexa o ouvinte de eventos para
open
em um momento muito posterior (quando uma solicitação está sendo tratada), o que significa que a conexão provavelmente já está ativa e o open
evento já foi chamado (você ainda não estava ouvindo). Você deve reorganizar seu código para que o manipulador de eventos esteja o mais próximo (no tempo) possível da chamada de conexão:
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');
};