ホームページ >バックエンド開発 >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 接続

Q: 最新バージョンの MongoDB で golang ドライバーを使用して MongoDB Atlas に接続する方法?

バージョン 3.6 の Go ドライバーはありませんデフォルトでの SRV 接続 URI 形式のサポートが終了しました。代わりに、ユーザーは非 SRV 接続 URI 形式を使用する必要があります。

修正:

<br>mongoURI := "mongodb://admin: [email protected]:27017/dbname"</p>
<p>dialInfo, err := mgo.ParseURL(mongoURI)<br>if err != nil {</p>
<pre class="brush:php;toolbar:false">panic(err)

}
dialInfo.Timeout = time.Duration(30)
セッション、err := mgo .DialWithInfo(dialInfo)
エラーの場合!= nil {

println("error")
log.Fatal(err)

}

Q: 「到達可能なサーバーがありません」エラーが発生します

これこの問題は、globalsign/mgo が SRV 接続文字列 URI をサポートしていないために発生します。

修正:

SRV 接続 URI を使用して接続するには、代わりに mongo-go-driver を使用してください:

<br> mongoURI := "mongodb srv://admin:[email protected]/dbname?ssl=true&retryWrites=true"</p>
<p>クライアント、エラー := mongo.NewClient(options.Client().ApplyURI(mongoURI))<br>エラーの場合!= なし{</p>
<pre class="brush:php;toolbar:false">log.Fatal(err)

}
ctx、キャンセル := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
err = client.Connect (ctx)
if err != nil {

log.Fatal(err)

}
defer client.Disconnect(ctx)

データベース := client.Database("go")
コレクション := database.Collection("atlas")

注: 提供された例との互換性を確保するために、mongo-go-driver をバージョン 1.0.0 以降に更新してください。 .

以上が最新のドライバーを使用して Go から MongoDB Atlas に接続する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。