mongooseが自分のDBに接続できない場合、どのようにエラー処理のコールバックを設定できますか?mongoose接続エラーコールバック
私は
connection.on('open', function() { ... });
を知っているが、
connection.on('error', function (err) { ... });
のようなものはありますか?
mongooseが自分のDBに接続できない場合、どのようにエラー処理のコールバックを設定できますか?mongoose接続エラーコールバック
私は
connection.on('open', function() { ... });
を知っているが、
connection.on('error', function (err) { ... });
のようなものはありますか?
あなたがコールバックでエラーを拾うことができます接続:
mongoose.connect('mongodb://localhost/dbname', function(err) {
if (err) throw err;
});
エラーがあってもサーバーを稼働させたい場合はどうすればよいですか?これまでに試したことがすべてエラーをスローし、プログラムを終了します。 –
ここでエラーが発生した場合は、設定エラーが発生しているか、DBサーバーがダウンしている可能性があります。その場合は、とにかくアプリを続行できない可能性があります。いずれにしても予期しないエラーが発生した場合は、アプリを再起動することをお勧めします。それ以外の場合は不明な状態です。 – evilcelery
@evilcelery mongooseのすべてのクエリはバッファされているので、dbに再接続するとすぐにすべてのクエリを実行する必要があります。これは問題なく不明な状態の原因であってはなりません。 – Andy
誰もが、この時に発生した場合、私は(3.4)を実行しているマングースのバージョンが問題に述べたように動作します。したがって、次のコードはエラーを返す可能性があります。
connection.on('error', function (err) { ... });
後期答えていますが、これを使用することができます実行しているサーバーを保持する場合:あなたが使用することができます
mongoose.connect('mongodb://localhost/dbname',function(err) {
if (err)
return console.error(err);
});
そこに多くのマングースのコールバック、
// CONNECTION EVENTS
// When successfully connected
mongoose.connection.on('connected', function() {
console.log('Mongoose default connection open to ' + dbURI);
});
// If the connection throws an error
mongoose.connection.on('error',function (err) {
console.log('Mongoose default connection error: ' + err);
});
// When the connection is disconnected
mongoose.connection.on('disconnected', function() {
console.log('Mongoose default connection disconnected');
});
// If the Node process ends, close the Mongoose connection
process.on('SIGINT', function() {
mongoose.connection.close(function() {
console.log('Mongoose default connection disconnected through app termination');
process.exit(0);
});
});
詳細:http://theholmesoffice.com/mongoose-connection-best-practice/
この問題を抱えている人は、 'connection.on( 'error'、function(err){...});'が3.Xで実装されました。 – Nepoxx