Abfrage:
Wie verbinde ich mich mit MongoDB Atlas über die aktualisierte mongodb srv URL-Syntax in den neuesten Versionen von Go Treiber?
Lösung:
Zuvor verwendete der Go-Treiber einen benutzerdefinierten URL-Parser für die Verbindung zu MongoDB Atlas. In MongoDB 3.6 wird jedoch die native Go url.Parse-Funktion zum Parsen des neuen URL-Formats verwendet:
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) } }
Hinweis:
Wenn Sie auf ein „ Wenn der Fehler „keine erreichbaren Server“ auftritt, stellen Sie sicher, dass:
Das obige ist der detaillierte Inhalt vonWie kann ich von Go aus mit der aktualisierten URL-Syntax „mongodb srv' eine Verbindung zu MongoDB Atlas herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!