Heim >Backend-Entwicklung >Golang >Wie kann ich mit den neuesten Treibern von unterwegs aus eine Verbindung zu MongoDB Atlas herstellen?
MongoDB 3.6 URI-Verbindung von Go
F: So stellen Sie eine Verbindung zu MongoDB Atlas mithilfe von Golang-Treibern in den neuesten Versionen von MongoDB her ?
Go-Treiber in Version 3.6 unterstützen das SRV-Verbindungs-URI-Format nicht mehr Standard. Stattdessen sollten Benutzer das Nicht-SRV-Verbindungs-URI-Format verwenden.
Fix:
<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)
wenn err != nil {
println("error") log.Fatal(err)
}
F: Es wird der Fehler „Keine erreichbaren Server“ angezeigt
Dieses Problem tritt auf, weil globalsign/mgo unterstützt den SRV-Verbindungszeichenfolgen-URI nicht noch nicht.
Fix:
Verwenden Sie stattdessen mongo-go-driver, um eine Verbindung über den SRV-Verbindungs-URI herzustellen:
<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 != Null {</p> <pre class="brush:php;toolbar:false">log.Fatal(err)
}
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
err = client.Connect(ctx)
if err != nil {
log.Fatal(err)
}
defer client.Disconnect(ctx)
database := client.Database("go")
collection := Database.Collection("atlas")
Hinweis: Aktualisieren Sie den Mongo-Go- Treiber auf Version 1.0.0 oder höher, um Kompatibilität mit dem bereitgestellten Beispiel zu gewährleisten.
Das obige ist der detaillierte Inhalt vonWie kann ich mit den neuesten Treibern von unterwegs aus eine Verbindung zu MongoDB Atlas herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!