这是我的结构类型
type Category struct {
Name string `bson:"listName"`
Slug string `bson:"slug"`
}
与以下函数一起使用以返回mongo集合中的所有结果 -
func GetCategories(s *mgo.Session) []Category {
var results []Category
Collection(s).Find(bson.M{}).All(&results)
return results
}
问题是我的db中的字段名称的名称以小写字母开头,但当我尝试使用以小写字母开头的变量名称时,Golang结构返回null。对于例如这将返回一个JSON,其中相应的字段为空 -
type Category struct {
listName string `bson:"listName"`
slug string `bson:"slug"`
}
我实际上是将基于Meteor的API移植到Golang,目前使用API的很多产品都依赖于这些字段名称,就像它们在db中一样! 有解决方法吗?
答案 0 :(得分:1)
您需要使用起始大写字母命名它们,使mgos bson Unmarshall的字段可见。您还需要映射到适当的json / bson字段名称
type Category struct {
ListName string `json:"listName" bson:"listName"`
Slug string `json:"slug" bson:"slug"`
}