Golang und MongoDb remote-Zugriff fehlschlägt (server returned error on SASL-Authentifizierung: die Authentifizierung ist fehlgeschlagen.)
Ich versuche, eine Verbindung zu remote-MongoDB-Datenbank (Mongolab) aus Gehen mit mgo Bibliothek aber immer Fehler panic: server returned error on SASL authentication step: Authentication failed
. Hier ist mein code
package main
import (
"fmt"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
"log"
)
type Person struct {
Name string
Phone string
}
func main() {
session, err := mgo.Dial("mongodb://<dbusername>:<dbpassword>@ds055855.mlab.com:55855")
if err != nil {
panic(err)
}
defer session.Close()
//Optional. Switch the session to a monotonic behavior.
session.SetMode(mgo.Monotonic, true)
c := session.DB("catalog").C("History")
err = c.Insert(&Person{"Ale", "+55 53 8116 9639"},
&Person{"Cla", "+55 53 8402 8510"})
if err != nil {
log.Fatal(err)
}
result := Person{}
err = c.Find(bson.M{"name": "Ale"}).One(&result)
if err != nil {
log.Fatal(err)
}
fmt.Println("Phone:", result.Phone)
}
Wie kann ich dieses Problem beheben? Und natürlich statt mit Sternen in meinen code Schreibe ich mein login und Passwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bitte überprüfen Sie, wenn Sie Hinzugefügt haben, Nutzer für Ihre Mongolab-Datenbank-Instanz (https://mongolab.com/databases/catalog#users im Falle dass, wenn Sie Ihre DB-name ist
catalog
), weil standardmäßig Ihre Benutzer-Liste leer ist (Konto, Benutzer/Passwort != Datenbank user/Passwort).Hinzufügen
/<databasename>
an das Ende der Verbindungszeichenfolge -mongodb://*******:*******@ds045795.mongolab.com:45795/databasename
.mongodb://souser:[email protected]:55855/catalog
session, err := mgo.Dial("mongodb://souser:[email protected]:55855/catalog")
Panik: server returned error on SASL-Authentifizierung: die Authentifizierung ist fehlgeschlagen.