mongoose.connect
を呼び出すとき 、データベースとの接続を確立します。
ただし、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');
};