ich ähnliches Problem hatte. Irreführend fand ich rund um das Netzwerk, dass das Paket "labix.org/v2/mgo" enthalten sein muss, trotz der Tatsache, dass auf der offiziellen Seite http://labix.org/mgo (zum Zeitpunkt der Lektüre) es neuere und aktualisierte Informationen, die auf mindestens verweist Arbeiten für mich Paket "gopkg.in/mgo.v2".
Ich hoffe, das kann helfen, da ich zu den gleichen Schritten wie Sie ohne Erfolg kam und dann habe ich die Paket-Referenz geändert. Dieser Code funktioniert in meinem Fall:
package main
import (
"fmt"
"time"
"gopkg.in/mgo.v2"
)
//const MongoDb details
const (
hosts = "ds026491.mongolab.com:26491"
database = "messagingdb"
username = "admin"
password = "youPassword"
collection = "messages"
)
func main() {
info := &mgo.DialInfo{
Addrs: []string{hosts},
Timeout: 60 * time.Second,
Database: database,
Username: username,
Password: password,
}
session, err1 := mgo.DialWithInfo(info)
if err1 != nil {
panic(err1)
}
col := session.DB(database).C(collection)
count, err2 := col.Count()
if err2 != nil {
panic(err2)
}
fmt.Println(fmt.Sprintf("Messages count: %d", count))
}
Es ist auch auf Github
Das ist also ein Laufzeitfehler oder ein Compiler-Fehler? – evanmcdonnal
Laufzeitfehler, es ist in Ordnung, nachdem ich meinen mongodb-Server neu installiert habe. – William
Mgo-Paket entfernen und erneut mit '-Tags sasl' Option. das behebt Ihr aktuelles Problem. Sie benötigen möglicherweise libsasl2-dev, um das neue Paket zu erstellen. 'go get -tags sasl labix.org/v2/mgo' ABER !!! nachdem ich es 'kann nicht SASL Sitzung einrichten: SASL (-4): kein Mechanismus zur Verfügung: Keine würdigen Mechs gefunden Bitte sagen Sie mir, wenn Sie einen Ausweg finden. –