Golang Mgo を使用した MongoDB Atlas への接続: 「レプリカ セットに到達可能なサーバーがない」問題の解決
質問:
MongoDB Atlas 上のレプリカ セットに接続する場合、 Golang mgo ドライバーでは、他の言語および通常の Mongo クライアントとの接続に成功したにもかかわらず、「到達可能なサーバーがありません」というエラー メッセージが表示されます。
回答:
修正バージョン以下の mgo コード スニペットは、提供された例を使用して MongoDB Atlas への接続を正常に確立します。パラメータ:
import ( "gopkg.in/mgo.v2" "crypto/tls" "net" ) tlsConfig := &tls.Config{} dialInfo := &mgo.DialInfo{ Addrs: []string{"prefix1.mongodb.net:27017", "prefix2.mongodb.net:27017", "prefix3.mongodb.net:27017"}, Database: "authDatabaseName", Username: "user", Password: "pass", } dialInfo.DialServer = func(addr *mgo.ServerAddr) (net.Conn, error) { conn, err := tls.Dial("tcp", addr.String(), tlsConfig) return conn, err } session, err := mgo.DialWithInfo(dialInfo)
考慮事項:
以上がGo mgo ドライバーが「到達可能なサーバーがありません」エラーで MongoDB Atlas レプリカ セットに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。