我是GOLANG的新手 - 我想降低GO API中处理程序的复杂性。我来自Node.js背景!创建一个函数,它返回与Golang和MGO的mongo集合
目前的路由处理程序是这样的:
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()
并让它创建会话等,这可能吗?
这不是最好的主意。会话大致转换为连接。所以通过它可能会导致人为瓶颈。 –