Saat Anda memanggil mongoose.connect , itu akan mengatur koneksi dengan database.
Namun, Anda melampirkan pendengar acara untuk open di lain waktu (saat permintaan sedang ditangani), artinya koneksi mungkin sudah aktif dan open acara telah dipanggil (Anda hanya belum mendengarkannya).
Anda harus mengatur ulang kode Anda sehingga pengendali peristiwa sedekat mungkin (pada waktunya) dengan panggilan koneksi:
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');
};