私はいくつかのエラー シナリオを経験し、それらの処理方法を理解しようとしています。
データベース接続がない場合、MongooseModel.find(...)
呼び出しがハングしているように見えます。サンプルコードの下。err
コールバックがオブジェクトで呼び出されると想定していましたが、そうではありません。
モデル呼び出しがハングしないようにするにはどうすればよいですか? readyState
モデルにアクセスするたびに手動で確認する必要がありますか?
// app.js
// Let's use a non-existing host so connecting fails:
// (callback is invoked with err object)
mongoose.connect('mongodb://localhostXXX/blog', function(err){ ... });
BlogPost = mongoose.model('BlogPost', BlogPostSchema);
// api.js
exports.list_posts = function(req, res) {
// Ready state is '0' = disconnected (since we used a wrong hostname)
console.log('DB ready state: ' + BlogPost.db.readyState);
// This will not invoke the callback:
BlogPost.find(function(err, threads) {
// Never called...
});
}