我是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()
並讓它創建會話等,這可能嗎?
這不是最好的主意。會話大致轉換爲連接。所以通過它可能會導致人爲瓶頸。 –