Golang mgo를 사용하여 MongoDB Atlas에 연결: 복제본 세트에 대한 지속적인 "연결할 수 없는 서버"
이 오류 메시지는 일반적으로 연결을 시도할 때 발생합니다. Golang의 mgo 드라이버를 사용하여 MongoDB Atlas 복제본 세트에 추가합니다. 이 문제를 해결하려면 다음 단계를 고려하세요.
아래 제공된 mgo 코드 조각 활용:
import ( "gopkg.in/mgo.v2" "crypto/tls" "net" ) // Configure TLS settings tlsConfig := &tls.Config{} // Initialize the DialInfo object dialInfo := &mgo.DialInfo{ Addrs: []string{"prefix1.mongodb.net:27017", "prefix2.mongodb.net:27017", "prefix3.mongodb.net:27017"}, Database: "authDatabaseName", Username: "user", Password: "pass", } // Override the default DialServer method dialInfo.DialServer = func(addr *mgo.ServerAddr) (net.Conn, error) { conn, err := tls.Dial("tcp", addr.String(), tlsConfig) return conn, err } // Establish the connection using DialWithInfo session, err := mgo.DialWithInfo(dialInfo)
단일 복제본 세트 구성원을 시드로 지정하는 것도 똑같이 유효하다는 점을 명심하세요. 옵션:
Addrs: []string{"prefix2.mongodb.net:27017"}
자세한 내용은 다음을 참조하세요. 리소스:
업데이트:
또는, MongoDB Atlas URI 문자열을 해석하기 위해 mgo.ParseURL() 메소드를 사용할 수 있습니다. 그러나 현재 SSL에 대한 지원이 부족합니다.
해결 방법으로 구문 분석하기 전에 ssl=true 매개변수를 제거할 수 있습니다.
// URI without ssl=true var mongoURI = "mongodb://username:[email protected],prefix2.mongodb.net,prefix3.mongodb.net/dbName?replicaSet=replName&authSource=admin" dialInfo, err := mgo.ParseURL(mongoURI) // Subsequent code remains similar to the previous example.
위 내용은 MongoDB Atlas에 대한 Golang mgo 연결이 \'접근 가능한 서버 없음\' 오류로 인해 계속 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!