クエリ:
を使用して 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 srv」 URL 構文を使用して Go から MongoDB Atlas に接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。