ホームページ > バックエンド開発 > Golang > 更新された「mongodb srv」 URL 構文を使用して Go から MongoDB Atlas に接続する方法

更新された「mongodb srv」 URL 構文を使用して Go から MongoDB Atlas に接続する方法

Linda Hamilton
リリース: 2024-12-07 15:21:13
オリジナル
934 人が閲覧しました

How to Connect to MongoDB Atlas from Go using the Updated `mongodb srv` URL Syntax?

新しい URL 構文を使用して Go から MongoDB Atlas に接続する

クエリ:

を使用して MongoDB Atlas に接続するにはどうすればよいですか?最新バージョンの Go で更新された mongodb srv URL 構文drivers?

解決策:

以前、Go ドライバーは MongoDB Atlas への接続にカスタム URL パーサーを使用していました。ただし、MongoDB 3.6 では、新しい URL 形式の解析にネイティブ Go url.Parse 関数が使用されます。

package main

import (
    "context"
    "log"
    "time"

    "go.mongodb.org/mongo-driver/bson"
    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
)

func main() {
    mongoURI := "mongodb+srv://admin:[email protected]/dbname?ssl=true&retryWrites=true"

    // Set a timeout for connection establishment.
    ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
    defer cancel()

    // Use mongo-go-driver to connect to Atlas.
    client, err := mongo.NewClient(options.Client().ApplyURI(mongoURI))
    if err != nil {
        log.Fatal(err)
    }
    if err = client.Connect(ctx); err != nil {
        log.Fatal(err)
    }
    defer client.Disconnect(ctx)

    // Now you can perform database operations as usual.
    database := client.Database("go")
    collection := database.Collection("atlas")
    err = collection.InsertOne(ctx, bson.M{"username": "testuser"})
    if err != nil {
        log.Fatal(err)
    }
}
ログイン後にコピー

注:

到達可能なサーバーがありません」というエラーが発生した場合は、次のことを確認してください:

  • 有効な MongoDB を使用している正しい資格情報を持つ Atlas 接続 URI。
  • MongoDB 3.6 以降と互換性のある Go ドライバーを使用しています。

以上が更新された「mongodb srv」 URL 構文を使用して Go から MongoDB Atlas に接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート