我想使用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
)。
关于mongodb - 如何获取mongodb mgo.v2中的所有记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60703318/