【发布时间】:2015-10-21 04:22:50
【问题描述】:
我是 GOLANG 新手 - 我想降低我的 GO API 中处理程序的复杂性。我来自 Node.js 背景!
目前路由处理程序如下所示:
func getCards(c web.C, w http.ResponseWriter, r *http.Request) {
session := *MongoConnection().CreateSession()
defer session.Close()
collection := session.DB(db).C(cardsCollection)
result := []Card{}
err := collection.Find(bson.M{}).All(&result)
if err != nil {
panic(err)
}
w.Header().Set("Content-Type", "application/json")
encoder := json.NewEncoder(w)
encoder.Encode(result)
}
我想做的是返回一个集合以供使用,而不必执行此部分:
session := *MongoConnection().CreateSession()
defer session.Close()
collection := session.DB(db).C(cardsCollection)
相反,我想做类似的事情
collection := Card.Collection()
并让它创建会话等,这可能吗?
【问题讨论】: