MongoDB Atlas 未连接到我的 golang 应用程序

我是 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)

}


qq_笑_17
浏览 180回答 1
1回答

富国沪深

一个可能的原因是您没有使用 MongoDB Atlas 将您的 IP 列入白名单。请参阅以下指南:https ://docs.atlas.mongodb.com/security-whitelist/#view-whitelist-entries请记住,如果您从本地计算机连接,您的 IP 地址可能会更改。您可以从 ISP 获取静态 IP 地址或通过另一台计算机连接。您也可以输入 0.0.0.0/0 以允许从任何 IP 访问,但这当然不太安全。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go