2 回答
TA贡献1818条经验 获得超3个赞
我遇到了同样的问题,但如果解决了。
我不确定你是否得到了修复,但我会把它放在这里,以防有人会遇到同样的问题。我通过不使用"mongo+srv://..."连接字符串来解决这个问题。
解决方法是选择 mongo Java 驱动程序并选择版本 3.4
package main
import (
"go.mongodb.org/mongo-driver/mongo"
)
func main () {
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
client, err := mongo.Connect(ctx, options.Client().ApplyURI(
"mongodb://<USERNAME>:<PASSWORD>@cluster0-shard-00-00.oospj.mongodb.net:27017,cluster0-shard-00-01.oospj.mongodb.net:27017,cluster0-shard-00-02.oospj.mongodb.net:27017/<DBNAME>?ssl=true&replicaSet=atlas-d5lvih-shard-0&authSource=admin&retryWrites=true&w=majority",
))
if err != nil {
log.Fatal(err)
}
}
这对我有用,希望它对你和下一个尝试使用 mongo 和 GO 的人有用。
TA贡献1963条经验 获得超6个赞
如果您尝试从两个不同的网络访问 MongoDB Atlas,Atlas 将看到两个不同的 IP 地址。要解决此问题,请按照下列步骤操作
1 == 在每种连接模式下发现您的 IP 地址
连接到每个网络并转到https://whatismyipaddress.com/以找出两个 IP 地址是什么
2 == 在两个网络上确保您可以连接到端口 27017、27015 和 27016。
您可以使用此网站检查您的端口号:http ://portquiz.net:27017/
3 == 检查您的 IP 白名单。
在 MongoDB Atlas 控制台内部,进入左侧菜单,Security => Network Access => IP Whitelisting。确保 CIDR 范围允许您从两个 IP 地址进行连接。
快速说明:如果这是一个包含匿名虚假数据的测试集群,您可以通过将 0.0.0.0/0(从任何地方访问)列入白名单来运行快速测试。
请注意,如果您托管“真实”数据,这将违反安全规定。只有当这是一个测试集群并且使用的数据是假数据或公共数据时,您才能执行此操作。
- 2 回答
- 0 关注
- 166 浏览
添加回答
举报