使用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:
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中文網其他相關文章!

本文演示了創建模擬和存根進行單元測試。 它強調使用接口,提供模擬實現的示例,並討論最佳實踐,例如保持模擬集中並使用斷言庫。 文章

本文探討了GO的仿製藥自定義類型約束。 它詳細介紹了界面如何定義通用功能的最低類型要求,從而改善了類型的安全性和代碼可重複使用性。 本文還討論了局限性和最佳實踐

本文使用跟踪工具探討了GO應用程序執行流。 它討論了手冊和自動儀器技術,比較諸如Jaeger,Zipkin和Opentelemetry之類的工具,並突出顯示有效的數據可視化

本文討論了GO的反思軟件包,用於運行時操作代碼,對序列化,通用編程等有益。它警告性能成本,例如較慢的執行和更高的內存使用,建議明智的使用和最佳

本文討論了GO中使用表驅動的測試,該方法使用測試用例表來測試具有多個輸入和結果的功能。它突出了諸如提高的可讀性,降低重複,可伸縮性,一致性和A

本文討論了通過go.mod,涵蓋規範,更新和衝突解決方案管理GO模塊依賴關係。它強調了最佳實踐,例如語義版本控制和定期更新。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver Mac版
視覺化網頁開發工具