जब आप mongoose.connect
call पर कॉल करते हैं , यह डेटाबेस के साथ एक कनेक्शन स्थापित करेगा।
हालांकि, आप इवेंट श्रोता को 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');
};