來自Go 的MongoDB 3.6 URI 連線
問:如何在最新版本的MongoDB 中使用goongo DB Atlas ?
3.6版本中的 Go 驅動不再支援 SRV預設連接 URI 格式。相反,使用者應該使用非 SRV 連接 URI 格式。
修正:
<br>mongoURI := "mongodb://admin: [電子郵件受保護]:27017/dbname" <p>dialInfo,錯誤:= mgo.ParseURL(mongoURI)<br>if err != nil {</p><p>}<br>dialInfo.Timeout = time.Duration(30)<br>會話,err := mgo. DialWithInfo(dialInfo)<br>if err != nil {</p><p>}<br></p>
問:收到「無法存取的伺服器」錯誤
出現此問題的原因是globalsign/mgo 不支援SRV 連接字串URI
修復:
使用mongo-go-driver 代替使用SRV 連接URI 進行連接:
<br> mongoURI := " mongodb srv://admin:[email protected]/dbname?ssl=true&retryWrites=true"<p>客戶端,err := mongo.NewClient(options.Client().ApplyURI(mongoURI))<br>如果出錯!= nil {</p><p>}<br>ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)<br>延遲取消()<br>err = client.Connect (ctx)<br>if err != nil {</p><p>}<br>延後client.Disconnect(ctx)</p><p>database := client.Database("go")<br>collection := database.Collection("atlas")<br> </p>
注意:將 mongo-go-driver 更新到 1.0.0 或更高版本以相容提供的範例。
以上是如何使用最新驅動程式從 Go 連接到 MongoDB Atlas?的詳細內容。更多資訊請關注PHP中文網其他相關文章!