首頁 >後端開發 >Golang >如何使用最新驅動程式從 Go 連接到 MongoDB Atlas?

如何使用最新驅動程式從 Go 連接到 MongoDB Atlas?

Barbara Streisand
Barbara Streisand原創
2024-12-05 01:37:09347瀏覽

How to Connect to MongoDB Atlas from Go Using the Latest Drivers?

來自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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn