如何获取mongodb mgo.v2中的所有记录?

问题描述 投票:0回答:1

[我想通过使用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"})
    }

}

我想通过使用NAME来获取数据库中的所有记录,但是如果我使用的是ALL,它会显示500内部错误,但是如果我保留一个(json),我只会得到一个记录,那么什么是解决方案来提取所有记录...] >

mongodb go mgo gin
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.