Maison >développement back-end >Golang >Comment se connecter à MongoDB Atlas depuis Go en utilisant les derniers pilotes ?

Comment se connecter à MongoDB Atlas depuis Go en utilisant les derniers pilotes ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-05 01:37:09351parcourir

How to Connect to MongoDB Atlas from Go Using the Latest Drivers?

Connexion URI MongoDB 3.6 depuis Go

Q : Comment se connecter à MongoDB Atlas à l'aide des pilotes Golang dans les dernières versions de MongoDB ?

Les pilotes Go des versions 3.6 ne prennent plus en charge le format URI de connexion SRV par défaut. Au lieu de cela, les utilisateurs doivent utiliser le format URI de connexion non SRV.

Correction :

<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)
session, err := mgo.DialWithInfo( dialInfo)
if err != nul {

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

}

Q : Obtention de l'erreur « Aucun serveur accessible »

Ce problème se produit car globalsign/mgo ne prend pas en charge l'URI de la chaîne de connexion SRV encore.

Correction :

Utilisez plutôt mongo-go-driver pour vous connecter à l'aide de l'URI de connexion SRV :

<br> mongoURI := "mongodb srv://admin:[email protected]/dbname?ssl=true&retryWrites=true"</p>
<p>client, err := mongo.NewClient(options.Client().ApplyURI(mongoURI))<br>if err != néant {</p>
<pre class="brush:php;toolbar:false">log.Fatal(err)

}
ctx, annuler := context.WithTimeout(context.Background(), 3*time.Second)
defer Cancel()
err = client.Connect(ctx)
if err != nil {

log.Fatal(err)

>
différer client.Disconnect(ctx)

base de données := client.Database("go")
collection := database.Collection("atlas")

Remarque : Mettez à jour le mongo-go- pilote vers la version 1.0.0 ou supérieure pour la compatibilité avec l'exemple fourni.

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