mongodb - 如何在 Go 中保持客户端连接到 MongoDB?
问题描述
https://www.mongodb.com/blog/post/mongodb-go-driver-tutorial上的 go-mongo-driver 文档建议如下:
最好的做法是保留一个连接到 MongoDB 的客户端,以便应用程序可以使用连接池 - 您不想为每个查询打开和关闭一个连接。
我的问题是:是否有最佳实践来做到这一点?
我正在运行 RPC 服务并不断侦听请求。当我收到请求时,我会调用 mongo 服务器。我不想做的是不断地连接和断开与 mongo 的连接。
我尝试了一个解决方案,将 mongo 客户端创建为全局变量,然后在主函数中延迟断开连接......这感觉不是一个好的解决方案。
var mongoClient *mongo.Client = buildMongoClient()
func main() {
defer disconnectFromMongo()
*** Do all the things ***
...
}
解决方案
推荐阅读
- javascript - Excel VBA IE HTML网页中的下拉列表
- r - 合并数据帧时 Rmarkdown 失败
- python - 如何在路由方法下管理多个条件
- apache-kafka - Kafka 机架感知功能
- python - TypeError:不支持的操作数类型/:'int'和'DoubleVar'
- java - 仅使用 for 循环组合两个不重复的 int 数组
- php - 使用 faker 库将图像插入数据库
- c# - C# Appium AppiumOptions 错误功能平台名称是标准功能,不应该有appium前缀
- python - Python pip 8.1.1 升级失败
- python - 如何从 OrderedDict 中获取某些元素?