MongoDB Atlas не подключается к моему приложению golang - PullRequest
0 голосов
/ 09 мая 2020

Я новичок в golang и MongoDB. Я слежу за официальным блогом mongoDb, чтобы начать работу с драйвером mon go -db для go, и я не могу подключиться к своему 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)
}

1 Ответ

1 голос
/ 09 мая 2020

Одна из возможных причин заключается в том, что вы не добавили свой IP-адрес в белый список с помощью MongoDB Atlas. См. Следующее руководство: https://docs.atlas.mongodb.com/security-whitelist/#view -whitelist-entries

Имейте в виду, что при подключении с вашего локального компьютера ваш IP-адрес может измениться. Вы можете получить статический c IP-адрес от своего провайдера или подключиться к нему через другой компьютер.

Вы также можете ввести 0.0.0.0/0, чтобы разрешить доступ с любого IP-адреса, но это, конечно, менее безопасно.

...