How do you select all records from a mongodb collection in golang using mgo

99封情书 提交于 2019-12-05 09:46:49

问题


In MongoDB doing something like db.mycollection.find() returns all documents in a collection.

When working in GoLang using the package labix.org/v2/mgo and I do for example:

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

It complains that it requires input in the form of an interface. All I need to do is retrieve all documents and iterate through them and display each one for now. How do I achieve this effect? All examples I have seen seem to have filters in place.


回答1:


Found a solution:

    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) 
    }



回答2:


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)

}


来源:https://stackoverflow.com/questions/24681047/how-do-you-select-all-records-from-a-mongodb-collection-in-golang-using-mgo

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!