Go에서 MongoDB 3.6 URI 연결
Q: 최신 버전의 MongoDB에서 golang 드라이버를 사용하여 MongoDB Atlas에 연결하는 방법 ?
버전 3.6의 Go 드라이버는 더 이상 존재하지 않습니다. 기본적으로 SRV 연결 URI 형식을 지원합니다. 대신, 사용자는 비SRV 연결 URI 형식을 사용해야 합니다.
수정:
<br>mongoURI := "mongodb://admin: [이메일 보호됨]:27017/dbname"</p> <p>dialInfo, 오류 := mgo.ParseURL(mongoURI)<br>if err != nil {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">panic(err)
}
dialInfo.Timeout = time.Duration(30)
session, err := mgo.DialWithInfo( 다이얼정보)
오류인 경우 != nil {
println("error") log.Fatal(err)
}
Q: "접속 가능한 서버 없음" 오류 발생
이 문제는 다음과 같은 이유로 발생합니다. globalsign/mgo는 SRV 연결 문자열 URI를 지원하지 않습니다. 아직.
수정:
대신 mongo-go-driver를 사용하여 SRV 연결 URI를 사용하여 연결:
<br> mongoURI := "몽고디비 srv://admin:[email protected]/dbname?ssl=true&retryWrites=true"</p> <p>client, err := mongo.NewClient(options.Client().ApplyURI(mongoURI))<br>if err != 0 {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">log.Fatal(err)
}
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
err = client.Connect (ctx)
오류인 경우 != nil {
log.Fatal(err)
}
client.Disconnect(ctx) 연기
database := client.Database("go")
collection := Database.Collection("atlas")
참고: 제공된 예제와의 호환성을 위해 mongo-go-driver를 버전 1.0.0 이상으로 업데이트하세요. .
위 내용은 최신 드라이버를 사용하여 Go에서 MongoDB Atlas에 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!