2014-07-10 17 views
15

In MongoDB macht so etwas wie db.mycollection.find() alle Dokumente in einer Sammlung.Wie wählen Sie alle Datensätze aus einer Mongodb-Sammlung in Golang mit Mgo

Wenn in golang arbeitet das Paket mit labix.org/v2/mgo und ich zum Beispiel:

query := db.C("client").Find(); 

Es beschwert sich, dass sie Eingang in Form einer Schnittstelle erfordert. Alles, was ich tun muss, ist alle Dokumente abzurufen und sie zu durchlaufen und jedes für einen Moment anzuzeigen. Wie erreiche ich diesen Effekt? Alle Beispiele, die ich gesehen habe, scheinen Filter zu haben.

Antwort

32

eine Lösung gefunden:

var results []client 

    err := db.C("client").Find(nil).All(&results) 
    if err != nil { 
     // TODO: Do something about the error 
    } else { 
     fmt.Println("Results All: ", results) 
    } 
+13

aus einer Datenbank immer gleich Null ist ein schwacher Grund 'zu –

+4

jedoch panic' den Benutzer des obigen Codes tatsächlich bekommen, es zu lesen und entscheiden, wie mit den' Null beschäftigen '. Aus der Perspektive, dass jemand hierher kommt und diesen Code mit hoher Wahrscheinlichkeit kopiert/einfügt, ist dies ein guter Weg, um zumindest darüber nachzudenken .... – amlwwalker

+0

@amlwalker Korrigiert den Code, entfernt Panik –

Verwandte Themen