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

Golang项目连接MongoDB报错:connection refused及网站403问题求助

问题排查方案

一、本地MongoDB连接失败解决步骤

1. 确认MongoDB服务状态

  • Windows:打开「服务」面板,找到MongoDB服务,确保状态为「正在运行」;未启动则右键选择「启动」,或执行命令 net start MongoDB。
  • macOS/Linux:执行 systemctl status mongod 查看状态,未启动则用 systemctl start mongod 启动服务。

2. 验证端口监听情况

执行以下命令检查27017端口是否开放:

# Windows
telnet localhost 27017

# macOS/Linux
nc -zv localhost 27017

若连接失败,打开MongoDB配置文件(mongod.conf),确认:

  • net.port 配置为27017
  • net.bindIp 设置为127.0.0.1或0.0.0.0(允许本地访问)

3. 修复代码错误处理

你的代码未检查client.Connect的错误,即使连接失败也会返回实例,导致后续操作异常。修改后代码:

func Connect() *DB {
    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
    defer cancel()
    client, err := mongo.NewClient(options.Client().ApplyURI("mongodb://localhost:27017"))
    if err != nil {
        log.Fatal(err)
    }
    // 新增连接错误检查
    err = client.Connect(ctx)
    if err != nil {
        log.Fatal(err)
    }
    // 可选:验证连接有效性
    err = client.Ping(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }
    return &DB{
        client: client,
    }
}

二、MongoDB官网403错误解决方法

403表示服务器拒绝访问,可尝试以下操作:

  • 切换网络:若使用公司/校园内网,换成手机热点或其他外部网络。
  • 清理浏览器数据:清除缓存、Cookie后重试,或使用无痕模式访问。
  • 等待或更换IP:多次访问触发反爬机制时,暂停一段时间后再试,或更换网络IP。

内容的提问来源于stack exchange,提问作者Kacper Łęczyński

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 08:15:44