【发布时间】:2020-07-07 13:21:41
【问题描述】:
我已将 MongoDB atlas 集成到我的 nodejs 应用程序中,但连接每隔几个小时就会断开一次,这会迫使应用程序重新启动。是否有办法处理代码中的重新连接以避免重新启动应用程序?
{ MongoNetworkError: 连接 2 到 67.156.445.93:27017 已关闭 在(匿名函数).forEach.op (/home/ubuntu/app/node_modules/mongodb/lib/cmap/connection.js:63:15) 在 Map.forEach () 在 TLSSocket.Connection.stream.on (/home/ubuntu/app/node_modules/mongodb/lib/cmap/connection.js:62:20) 在 TLSSocket.emit (events.js:203:15) 在 _handle.close (net.js:607:12) 在 TCP.done (_tls_wrap.js:388:7) 名称:'MongoNetworkError', [Symbol(mongoErrorContextSymbol)]: { isGetMore: true } }
代码:
const log = console.log;
const mongoose = require('mongoose');
const link = ' URL of MONGOATLAS DB';
const connectDB = async () => {
mongoose.connect(link, {
useNewUrlParser: true,
useUnifiedTopology: true
});
mongoose.connection.on('connected',() => {
log(`MongoDB connection successful!`);
});
mongoose.connection.on('error',(err) => {
log(`MongoDB connection error => ${err}!`);
});
mongoose.connection.on('disconnected', () => {
log(`MongoDB connection diconnected`);
});
}
module.exports = connectDB;
【问题讨论】: