【发布时间】:2014-09-11 19:08:00
【问题描述】:
我正在构建资源 REST api,但在关注时遇到问题
返回所有记录的 Find 方法工作正常
type Resource struct {
*Controller
}
func (self *Resource) Find(res http.ResponseWriter, req *http.Request) {
resource := self.ParseResource(req)
queryParams := req.URL.Query()
query := make(bson.M, 0)
for k, v := range queryParams {
query[k] = v[0]
}
var jsonR []bson.M
coll := self.GetDb().C(resource)
coll.Find(query).All(&jsonR)
self.RenderJson(res, jsonR)
}
单个结果不起作用,返回一个空结构:
func (self *Resource) FindOne(res http.ResponseWriter, req *http.Request) {
id := mux.Vars(req)["id"]
var jsonR = bson.M{}
coll := self.GetDb().C(self.ParseResource(req))
query := bson.M{"_id": id}
coll.Find(query).One(&jsonR)
self.RenderJson(res, jsonR)
}
我知道问题出在 var jsonR = bson.M{} 中,但在 findall 中运行良好 知道我错过了什么吗?
【问题讨论】:
-
虽然这与您的问题正交,但 this/self 在 Go 中并不常见:golang.org/doc/effective_go.html#methods