Erreur de connexion à la base de données Mongo Cloud dans Go sur Ubuntu
Problème
Lors de la tentative de connectez-vous à une base de données Mongo Cloud dans Go sur Ubuntu en utilisant ce qui suit code :
func connectToDataBase() { ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second) defer cancel() client, err := mongo.Connect(ctx, options.Client().ApplyURI(dbURL)) if err != nil { log.Fatal("Error connecting to Database: ", err.Error()) } DB = client.Database("storyfactory") }
un message d'erreur apparaît :
2019/04/13 00:20:37 Error connecting to Database: error parsing uri (mongodb+srv://User:[email protected]/test?retryWrites=true): lookup cluster0-gpxjk.gcp.mongodb.net on 127.0.0.53:53: cannot unmarshal DNS message exit status 1
Solution
Ce problème n'est pas directement lié au pilote Go MongoDB mais plutôt à un changement dans la version Go 1.11.x #10622 qui a resserré la façon dont les enregistrements SRV sont lus, suite RFC-2782.
Si un serveur DNS faisant autorité envoie un enregistrement SRV en utilisant la compression de nom de domaine, la fonction net.lookupSRV() renvoie une erreur avec le message « impossible de désorganiser le message DNS ».
Pour résoudre ce problème, envisagez les solutions de contournement suivantes :
Pour pour plus d'informations, reportez-vous à GODRIVER-829.
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!