我是GoLang的初学者。我想在整个应用程序中维护一个MongoDB会话。我已经看过像在马提尼框架中绑定数据库会话或将其分配给goLang结构的答案。但我想要一个直接的方法。
答案 0 :(得分:2)
我假设您已经拥有mgo
驱动程序:
go get gopkg.in/mgo.v2
在您的代码中,您可以在main
函数之外设置一个全局变量,如:
var mgoSession *mgo.Session
然后,您可以在init
功能或main
功能中启动会话:
session, err := mgo.Dial("mongodb://localhost")
if err != nil {
panic(err)
}
session.SetMode(mgo.Monotonic, true)
mgoSession = session
然后,您可以根据需要在程序的不同函数中克隆会话:
session := mgoSession.Clone()
defer session.Close()
c := session.DB("databasename").C("collectionname")