MongoDB Atlas无法与我的golang App连接。

问题描述 投票:0回答:1

我是golang和MongoDB的新手,我一直在关注mongoDb的官方博客,以便开始使用go的mongo-db驱动,但不知为何,我无法连接到我的mongodb,以下是代码,错误是 "context deadline exceeded",先谢谢你。

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)
}
mongodb go mongodb-atlas
1个回答
1
投票

一个可能的原因是你没有用MongoDB Atlas把你的IP列入白名单,请参考以下指南。https:/docs.atlas.mongodb.comsecurity-whitelist#view-whitelist-entries。

请注意,如果你从本地机器连接,你的IP地址可能会改变。你可以从你的ISP那里得到一个静态IP地址,或者通过另一台机器连接。

你也可以输入0.0.0.00,允许从任何IP访问,但这当然不太安全。

© www.soinside.com 2019 - 2024. All rights reserved.