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

Node.js Express连接MongoDB失败:mongodb+srv URI端口错误排查

解决MongoDB+srv URI含端口号的报错问题

报错信息

MongoDB connection error: MongoParseError: mongodb+srv URI cannot have port number

问题分析

错误核心:mongodb+srv协议的连接URI不允许手动指定端口号。你从MongoDB Atlas复制的连接串本身是合规的(无端口),问题出在项目代码对连接字符串的处理逻辑上。

排查与解决步骤

  • 检查项目中MongoDB连接代码(常见于db.js、config/database.js等文件),确认是否存在手动给DB_CLUSTER拼接端口的错误逻辑,比如这类写法:

    // 错误示例:多余添加了端口
    const dbUri = `${process.env.DB_CLUSTER}:27017`;
    mongoose.connect(dbUri);
    

    mongodb+srv会自动解析集群的节点和端口信息,无需额外指定端口。

  • 确认.env文件中DB_CLUSTER未被误加端口,且代码没有重复拼接DB_USER/DB_PASS到已包含账号密码的DB_CLUSTER中,避免出现格式错误。

  • 正确的连接代码示例:

    const mongoose = require('mongoose');
    
    const connectDB = async () => {
      try {
        await mongoose.connect(process.env.DB_CLUSTER);
        console.log('MongoDB连接成功');
      } catch (err) {
        console.error('MongoDB connection error:', err);
        process.exit(1);
      }
    };
    
    module.exports = connectDB;
    
  • 修改后重启项目,验证连接是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 09:12:13