Golang mgo商店会话或集合

时间:2019-05-20 20:28:21

标签: mongodb go mgo

我的服务器启动时,它将创建与mongo数据库的连接,抓取*mgo.Session并将其存储在“服务器”结构中,以供在该结构上定义的处理程序用于服务请求。

我看到了两种实际执行此方法的方法。

1) Save the `*mgo.Session` in the struct.

这样做的好处是,您可以在使用会话进行连接隔离之前,在每个处理程序中调用Session.Copy。缺点是您需要为特定的.DB("x").C("y")调用x,并为每个处理程序调用{​​{1}}。如果要更改此设置,则需要找到使用它的每个实例并进行更改。那不理想。

y

好处是您可以在一个位置进行配置并使用它。缺点是似乎无法在事物上使用2) Store the `*mgo.Database` or even `*mgo.Collection` object on the server struct. 进行连接隔离。

您如何建议存储mongo会话,以便可以干净地使用连接并在请求之间提供隔离?

0 个答案:

没有答案