dongmu2026
2014-07-10 15:53 阅读 123

如何使用mgo从golang的mongodb集合中选择所有记录

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.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    dongpao1926 dongpao1926 2014-07-10 16:02

    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) 
        }
    
    点赞 评论 复制链接分享
  • dougu5847 dougu5847 2018-10-17 05:58
    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)
    
    }
    
    点赞 评论 复制链接分享

相关推荐