【问题标题】:MongoDB Atlas not connecting with my golang AppMongoDB Atlas 未与我的 golang 应用程序连接
【发布时间】:2020-08-24 20:30:39
【问题描述】:

我是 golang 和 MongoDB 的新手,我一直在关注 mongoDb 的官方博客,了解 go 的 mongo-db 驱动程序入门,但由于某种原因我无法连接到我的 mongodb 这是代码,错误是“超出上下文截止日期”,thnx提前

package main

import (
    "context"
    "fmt"
    "log"
    "time"

    "go.mongodb.org/mongo-driver/bson"
    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
    // "go.mongodb.org/mongo-driver/mongo/readpref"
)

func main() {
    client, err := mongo.NewClient(options.Client().ApplyURI("mongodb+srv://chandru:<Heregoesmypassword>@cluster0-9jkaf.mongodb.net/test?retryWrites=true&w=majority"))
    if err != nil {
        log.Fatal(err)
    }
    ctx, _ := context.WithTimeout(context.Background(), 20*time.Second)
    err = client.Connect(ctx)
    if err != nil {
        log.Fatal(err)
    }
    defer client.Disconnect(ctx)
    databases, err := client.ListDatabaseNames(ctx, bson.M{})
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(databases)
}

【问题讨论】:

  • 请包含您发现的错误。
  • 实际上我已经提到了 20 秒作为连接的阈值,但连接没有发生,我收到“超出上下文截止日期”的错误
  • 您知道MongoDB Atlas的IP白名单功能吗?基本上,您必须允许某些 IP 地址连接到您的数据库。
  • 不,我没有,我应该在哪里提到ip?
  • 它现在可以工作了,Thnx 伙伴

标签: mongodb go mongodb-atlas


【解决方案1】:

一个可能的原因是您没有使用 MongoDB Atlas 将您的 IP 列入白名单 请参考以下指南:https://docs.atlas.mongodb.com/security-whitelist/#view-whitelist-entries

请记住,如果您从本地计算机连接,您的 IP 地址可能会改变。您可以从 ISP 获取静态 IP 地址或通过另一台计算机连接。

您也可以输入 0.0.0.0/0 以允许从任何 IP 访问,但这当然不太安全。

【讨论】:

    猜你喜欢
    • 2021-11-09
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 2022-08-08
    • 2022-01-18
    • 2020-04-06
    • 2020-08-16
    相关资源
    最近更新 更多