Maison >développement back-end >Golang >Comment se connecter à MongoDB Atlas depuis Go en utilisant la syntaxe d'URL « mongodb srv » mise à jour ?

Comment se connecter à MongoDB Atlas depuis Go en utilisant la syntaxe d'URL « mongodb srv » mise à jour ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-07 15:21:13965parcourir

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

Connexion à MongoDB Atlas depuis Go en utilisant la nouvelle syntaxe d'URL

Requête :

Comment puis-je me connecter à MongoDB Atlas en utilisant la syntaxe d'URL mongodb srv mise à jour dans les dernières versions de Go pilotes ?

Solution :

Auparavant, le pilote Go utilisait un analyseur d'URL personnalisé pour se connecter à MongoDB Atlas. Cependant, dans MongoDB 3.6, la fonction native Go url.Parse est utilisée pour analyser le nouveau format d'URL :

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)
    }
}

Remarque :

Si vous rencontrez un " "Aucun serveur accessible", assurez-vous que :

  • Vous utilisez un URI de connexion MongoDB Atlas valide avec le bon informations d'identification.
  • Vous utilisez un pilote Go compatible avec MongoDB 3.6 ou version ultérieure.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn