陶醉于 mgo.v2 - 如何 return 集合中的所有数据为 json?
Revel with mgo.v2 - How to return all data from a collection as json?
我正在尝试使用 Revel for Go 构建一个 API 端点。
我的 models/models.go 看起来像这样 -
type Category struct {
Name string `bson:"name"`
Slug string `bson:"slug"`}
func GetCategories(s *mgo.Session) *Category {
var results []Category
Collection(s).Find(nil).All(&results)
return results}
我的 controllers/book.go 看起来像这样 -
type Category struct {
*revel.Controller
revelbasic.MongoController}
func (c Category) Categories() revel.Result {
b := models.GetCategories(c.MongoSession)
return c.RenderJson(b)}
我已经这样配置了我的 conf/routes -
GET /categories Book.Categories
当我 运行 代码时,出现此错误 -
cannot use results (type []Category) as type *Category in return argument
我知道我在数据库查询方面做错了。
请帮忙!
您的代码中的错误是因为函数 GetCategories
的 return 值声明与您实际 return 之间的类型不匹配。要修复,请将 return 类型更改为 return 结果片段:
func GetCategories(s *mgo.Session) []Category {
var results []Category
Collection(s).Find(nil).All(&results)
return results
}
我正在尝试使用 Revel for Go 构建一个 API 端点。
我的 models/models.go 看起来像这样 -
type Category struct {
Name string `bson:"name"`
Slug string `bson:"slug"`}
func GetCategories(s *mgo.Session) *Category {
var results []Category
Collection(s).Find(nil).All(&results)
return results}
我的 controllers/book.go 看起来像这样 -
type Category struct {
*revel.Controller
revelbasic.MongoController}
func (c Category) Categories() revel.Result {
b := models.GetCategories(c.MongoSession)
return c.RenderJson(b)}
我已经这样配置了我的 conf/routes -
GET /categories Book.Categories
当我 运行 代码时,出现此错误 -
cannot use results (type []Category) as type *Category in return argument
我知道我在数据库查询方面做错了。 请帮忙!
您的代码中的错误是因为函数 GetCategories
的 return 值声明与您实际 return 之间的类型不匹配。要修复,请将 return 类型更改为 return 结果片段:
func GetCategories(s *mgo.Session) []Category {
var results []Category
Collection(s).Find(nil).All(&results)
return results
}