Golang 드라이버를 사용하여 새로운 URL 구문으로 MongoDB Atlas에 연결
Golang 드라이버를 사용하여 MongoDB Atlas에 연결하는 동안 다음으로 인해 문제가 발생할 수 있습니다. MongoDB 3.6에 도입된 새로운 URL 구문의 사용. 이 문서에서는 잠재적인 위험을 탐색하고 해결책을 제공합니다.
오류: 연결되지 않음
제시된 코드는 tls.Dial("tcp" , addr.String(), tlsConfig) 함수. 그러나 코드가 무기한 차단될 수 있는 시간 제한을 지정하지 않습니다. 이 문제를 해결하려면,ialInfo.Timeout = time.Duration(30).
Error: No Reachable Servers
mgo.DialWithInfo 함수를 사용할 때 시간 제한을 명시적으로 설정하세요. SCRAM 메커니즘을 사용하면 연결할 수 있는 서버를 찾을 수 없다는 오류가 발생할 수 있습니다. 이는 globalsign/mgo 드라이버가 현재 SRV 연결 문자열 URI를 지원하지 않기 때문입니다. 또는 비SRV 연결 URI 형식(MongoDB v3.4)을 사용하거나 대신 SRV 연결 URI를 지원하는 mongo-go-driver 사용을 고려해 보세요.
Mongo-go를 사용하는 샘플 코드 -driver
SRV 연결 URI와 함께 mongo-go-driver를 사용한 연결을 시연하려면 다음 코드를 고려하세요. 조각:
mongoURI := "mongodb+srv://admin:[email protected]/dbname?ssl=true&retryWrites=true" client, err := mongo.NewClient(options.Client().ApplyURI(mongoURI)) if err != nil { log.Fatal(err) } ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second) defer cancel() err = client.Connect(ctx) defer client.Disconnect(ctx) if err != nil { log.Fatal(err) }
이 예는 현재 버전의 mongo-go-driver v1.0.0과 호환됩니다.
위 내용은 새로운 URL 구문으로 Golang 드라이버를 사용하여 MongoDB Atlas에 성공적으로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!