"ошибка выбора сервера: тайм-аут выбора сервера" Mongodb Go Driver - PullRequest
0 голосов
/ 06 мая 2020

Я хочу подключиться к удаленному серверу Mongodb. И в процессе я получаю ошибку

selection error: server selection timeout, current topology: { Type: Unknown, Servers: [{ Addr: <addr>:<port>, Type: Unknown, State: Connected, Average RTT: 0, Last error: connection() : dial tcp <addr>:<port>: i/o timeout }, ] }

Это мой код,

func Connect() {
 client, err := mongo.NewClient(options.Client().ApplyURI("mongodb://server_addr:port").
    SetAuth(options.Credential{
        AuthSource: "db_name", Username: "user", Password: "password",
      }))

  ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second)
  defer cancel()
  err = client.Connect(ctx)

  //ping db
  err = client.Ping(ctx, readpref.Primary())

  if err != nil {
    log.Fatal("Error while connecting db ", err)
  }

  log.Println("Connected\n")
}

В файле etc / mongod.conf я ввел

bindIpAll: true

И разрешить порт через брандмауэр

sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent

, но я все еще не могу понять, что вызывает ошибку. Я все еще новичок, поэтому будет очень полезно, если вы поможете мне понять. Спасибо!

...