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

时间:2020-05-09 07:49:46

标签: mongodb go mongodb-atlas

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

1 个答案:

答案 0 :(得分:1)

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

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

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

相关问题