簡體   English   中英

如何在 goLang 的整個應用程序中將 MongoDB 會話保持為全局變量

[英]How to maintain MongoDB session throughout out application in goLang as global variable

我是 GoLang 的初學者。 我想在整個應用程序中維護一個 MongoDB 會話。 我已經看到了諸如在 martini 框架中綁定 DB 會話或將其分配給 goLang 結構之類的答案。 但我想要一個直接的方法。

我假設你已經有了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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM