gopkg - ¿Cómo seleccionas todos los registros de una colección mongodb en golang usando mgo?
mgo golang sort (2)
En MongoDB, hacer algo como db.mycollection.find()
devuelve todos los documentos de una colección.
Al trabajar en GoLang usando el paquete labix.org/v2/mgo y lo hago por ejemplo:
query := db.C("client").Find();
Se queja de que requiere una entrada en forma de una interfaz. Todo lo que necesito hacer es recuperar todos los documentos e iterarlos y mostrar cada uno por ahora. ¿Cómo logro este efecto? Todos los ejemplos que he visto parecen tener filtros en su lugar.
Encontré una solución:
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)
}
func (uc UserController) GetUsersList(w http.ResponseWriter,r *http.Request,p httprouter.Params){
var u []models.User
// Fetch user
if err := uc.session.DB("mydb").C("users").Find(nil).All(&u); err != nil {
w.WriteHeader(404)
fmt.Println("Results All: ", u)
return
}
uj, _ := json.Marshal(u)
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(200)
fmt.Fprintf(w, "%s", uj)
}