登录
首页 >  Golang >  Go问答

获取 mgo.v2 中的所有 MongoDB 记录的方法

来源:stackoverflow

时间:2024-02-29 17:27:14 299浏览 收藏

哈喽!今天心血来潮给大家带来了《获取 mgo.v2 中的所有 MongoDB 记录的方法》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我想通过使用 name 来获取数据库中的所有记录,但是,如果我使用 all,它会显示 500 内部错误,但是,如果我保留一条(json),我只会得到一条记录。按名称获取所有记录的解决方案是什么?

func (uc UserController) Filter(c *gin.Context) {
    var name = c.Params.ByName("Name")
    var json models.User
    err := c.Bind(&json)
    if err != nil {
        log.Fatal("error")
        return
    }
    json.Name = name
    fi := bson.D{{"Name", name}}
    err = uc.session.DB(DB_NAME).C(DB_COLLECTION).Find(fi).All(json)

    if err == nil {
        c.Writer.Header().Set("Content-Type", "application/json")
        c.JSON(201, &json)
    } else {
        c.JSON(500, gin.H{"result": "An error occured"})
    }

}

解决方案


您应该将一个数组 (var json []models.User) 传递给 All(&json) 函数,但您传递的是一项 (var json models.User)。

今天关于《获取 mgo.v2 中的所有 MongoDB 记录的方法》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>