När du ringer mongoose.connect
, kommer det att upprätta en anslutning till databasen.
Däremot bifogar du händelseavlyssnaren för open
vid en mycket senare tidpunkt (när en förfrågan hanteras), vilket betyder att anslutningen förmodligen redan är aktiv och open
händelsen har redan kallats (du har bara inte lyssnat efter den ännu).
Du bör ordna om din kod så att händelsehanteraren är så nära (i tid) anslutningssamtalet som möjligt:
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');
};