You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js对接本地MongoDB认证成功数秒后连接断开问题求助

解决方案
  • 修正连接字符串的转义错误
    你当前的连接字符串中使用了HTML转义符&代替原生的&,会导致连接参数解析错误,将连接参数部分修改为:
    mongodb://user:pass@127.0.0.1:27017/Database?retryWrites=true&w=majority

  • 确认Mongoose与MongoDB服务版本兼容
    首先分别查询本地MongoDB服务版本和项目依赖的Mongoose版本:

# 查MongoDB版本
mongod --version
# 查项目内Mongoose版本
npm list mongoose

版本匹配规则参考:Mongoose 7.x及以上不再支持MongoDB 4.0及更早版本,如果你Ubuntu 18.04上安装的是MongoDB 4.0系列,需要降级Mongoose到6.x版本,执行命令:

npm install mongoose@6.12.0
  • 新增连接保活配置,避免空闲连接被回收
    在Mongoose连接参数中添加超时和保活配置,防止系统或MongoDB服务主动断开长期空闲的连接,修改后的连接代码如下:
const httpsServer = https.createServer(credentials, app);

const mongooseConnection = mongoose
                          .createConnection(
                            `mongodb://user:pass@127.0.0.1:27017/Database?retryWrites=true&w=majority`,
                            { 
                              useNewUrlParser: true, 
                              useUnifiedTopology: true,
                              // 新增保活和超时配置
                              keepAlive: true,
                              keepAliveInitialDelay: 300000,
                              connectTimeoutMS: 30000,
                              socketTimeoutMS: 360000
                            }
                          );

mongooseConnection.on('error', console.error.bind(console, 'Connection error: '));
// 新增断开事件监听,便于后续定位问题
mongooseConnection.on('disconnected', () => console.log('MongoDB connection disconnected'));
mongooseConnection.on('close', () => console.log('MongoDB connection closed'));

mongooseConnection.once('open', () => {
  console.log("Connected to the DB");
  httpsServer.listen(securePort, () => {
    console.log(`Secure Express server listening on port ${securePort}`);
  });
});
  • 校验账号权限和本地端口限制
    1. 登录MongoDB Shell,确认使用的账号拥有目标库的完整读写权限
    2. 执行ufw status确认Ubuntu防火墙未对本地127.0.0.1的27017端口做访问限制
    3. 检查/etc/mongod.conf中bindIp配置确实包含127.0.0.1

内容的提问来源于stack exchange,提问作者Cristian Moroaica

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 05:45:02