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
Libérer: 2024-12-05 01:37:09
original
343 Les gens l'ont consulté

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>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">panic(err)
Copier après la connexion

}
dialInfo.Timeout = time.Duration(30)
session, err := mgo.DialWithInfo( dialInfo)
if err != nul {

println("error")
log.Fatal(err)
Copier après la connexion

}

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>
<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">log.Fatal(err)
Copier après la connexion
Copier après la connexion

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

log.Fatal(err)
Copier après la connexion
Copier après la connexion

>
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!

source:php.cn
Article précédent:Pourquoi différents ordres de champs dans les structures Go entraînent-ils des tailles variables ? Article suivant:Comment créer de manière fiable un fichier texte vide dans Go ?
Déclaration de ce site Web
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
Derniers articles par auteur
Derniers numéros
Rubriques connexes
Plus>
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal