使用Golang 驅動程式透過新URL 語法連接到MongoDB Atlas
使用Golang 驅動程式連接到MongoDB Atlas 時,可能會因為以下原因出現問題使用MongoDB 3.6 中引入的新URL 語法。本文探討了潛在的陷阱並提供了解決方案。
錯誤:未連線
程式碼嘗試使用 tls.Dial("tcp" 建立連線、addr.String()、tlsConfig) 函數。但是,它沒有指定超時,這可能會導致程式碼無限期阻塞。若要解決此問題,請使用dialInfo.Timeout = time.Duration(30).
Error: No Reachable Servers
使用mgo.DialWithInfo 函數時明確設定逾時使用SCRAM 機制,可能會發生錯誤,指示未找到可存取的伺服器。這是因為 globalsign/mgo 驅動程式目前不支援 SRV 連接字串 URI。或者,使用非 SRV 連接 URI 格式 (MongoDB v3.4) 或考慮使用 mongo-go-driver,它支援 SRV 連接 URI。
使用Mongo-go 的範例程式碼-driver
要示範使用mongo-go-driver 與SRV 連接URI 進行連接,請考慮以下程式碼snippet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
此範例與目前版本的mongo-go-driver v1.0.0 相容。
以上是如何使用具有新 URL 語法的 Golang 驅動程式成功連接到 MongoDB Atlas?的詳細內容。更多資訊請關注PHP中文網其他相關文章!