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

MongooseServerSelectionError:MongoDB数据库连接超时问题求助

解决MongooseServerSelectionError: Server selection timed out问题

针对你遇到的Mongoose连接MongoDB超时,但Compass和Shell能正常连接的情况,可按以下步骤排查:

  • 版本兼容性检查
    报错中commonWireVersion: 0通常提示Mongoose与MongoDB版本不兼容。先查看MongoDB版本:

    mongod --version
    

    若MongoDB为6.0+版本,需搭配Mongoose 6.0及以上版本。执行升级命令:

    npm install mongoose@latest
    
  • 调整连接配置参数
    显式配置连接超时时间与必要参数,避免默认值不足导致超时:

    const mongoose = require('mongoose');
    
    async function connectDB() {
      try {
        await mongoose.connect('mongodb://127.0.0.1:27017/dev', {
          serverSelectionTimeoutMS: 10000, // 延长超时至10秒
          useNewUrlParser: true,
          useUnifiedTopology: true
        });
        console.log('数据库连接成功');
      } catch (err) {
        console.error('连接失败:', err);
      }
    }
    
    connectDB();
    
  • 排查Node.js代理设置
    若环境存在代理,可能导致Node.js无法访问本地MongoDB。在代码开头添加禁用代理的配置:

    process.env.NO_PROXY = 'localhost,127.0.0.1';
    
  • 验证MongoDB绑定IP
    打开MongoDB配置文件(如mongod.conf),确认bindIp设置为127.0.0.1或0.0.0.0(允许所有IP访问),修改后重启MongoDB服务。

  • 检查防火墙/安全软件拦截
    本地防火墙或杀毒软件可能拦截Node.js访问27017端口。暂时关闭相关软件测试,若恢复正常,需添加Node.js程序或27017端口的放行规则。

内容的提问来源于stack exchange,提问作者Pato P

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 22:03:11