如何处理猫鼬连接重置

时间:2020-02-06 21:12:28

标签: node.js mongodb mongoose crash connection

我正在尝试使用与mongo数据库的猫鼬连接来处理连接重置。使用下面的代码,如果数据库连接被重置或断开连接,则该应用将崩溃并显示以下消息。我确实点击了connection.on('disconnected...,但没有点击catch语句。

const mongoose = require("mongoose");
var connection = mongoose.connection;
connection.on('open', function ()
{
    console.log('connected.');
});
connection.on('error', error =>
{
    console.log('Error: connection failed!\r\n' + error );
});
connection.on('disconnected', error =>
{
    console.log('Error: disconnected!\r\n' + error);
});

mongoose.connect('mongodb://localhost:27017/testDB', { useNewUrlParser: true, useUnifiedTopology: true  } )
    .catch(error => {
        console.log('Error catch:\r\n' + error);
    }) ;

错误消息是:

Error: NorthStar Mongo database disconnected!
undefined
events.js:187
      throw er; // Unhandled 'error' event
      ^

Error: read ECONNRESET
    at TCP.onStreamRead (internal/stream_base_commons.js:201:27)
Emitted 'error' event on Connection instance at:
    at Socket.<anonymous> (C:\work_local\NorthStar\NorthStar V2\api\NorthStar-V2-api\node_modules\mongoose\node_modules\mongodb\lib\core\connection\connection.js:340:10)
    at Object.onceWrapper (events.js:300:26)
    at Socket.emit (events.js:210:5)
    at Socket.EventEmitter.emit (domain.js:475:20)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:80:21) {
  name: 'MongoNetworkError',
  [Symbol(mongoErrorContextSymbol)]: {}
}
[nodemon] app crashed - waiting for file changes before starting...

感谢您的帮助, 迈克

0 个答案:

没有答案