mongodb - Mgo 是否缓存连接字符串?

标签 mongodb go mgo compose-db

我的 Go 应用程序已使用 MGO 连接到 MongoDB(托管在 Compose.io 上),没有任何问题。

今天我决定删除这个数据库并添加一个不同的数据库(再次使用 Compose)。我更新了连接字符串。

所以我连接使用:

db, err := mgo.Dial("mongodb://<username>:<password>@dogen.mongohq.com:10048/db-name")

设置好用户名和密码。

奇怪的是,应用程序似乎仍然连接到旧数据库。我之所以知道这一点,是因为我打印了 err 消息,告诉我:在我尝试执行查询后,未授权查询我的旧数据库名称

我已经运行 go install 再次编译,但仍然没有成功。

最佳答案

不,mgo 不会缓存您提供给 mgo.Dial 的连接字符串功能。我什至不清楚那是什么意思?在您明确要求它连接到不同的数据库后使用不正确的数据库名称将是一个严重的错误,而不是缓存。

至于你的问题,你确定你没有在你自己的代码中引用旧的数据库名称吗? Dial 函数不是指定数据库名称的唯一方法(提示:session.DB)

关于mongodb - Mgo 是否缓存连接字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30896287/

相关文章:

mysql - MySQL表在MongoDB中的正确实现?

javascript - 创建一个包含 Node.js、MongoDb 和 D3.js 的 Web 应用程序

javascript - 如何在meteor中配置数据库

docker - 静态链接去二进制上没有可访问的服务器

mongodb - 需要在 MongoDB 和 golang(mgo) 中使用 $push 包含 $each 和 $position

mongodb - 如何避免向 MongoDB 中的数组添加重复的对象

go - 返回 channel 的并发队列,锁定疑惑

go - os.OpenFile 权限问题在测试中

coding-style - 为什么 Golang 强制大括号不在下一行?

json - Golang map : How to strip out empty fields automatically