来自 Go 的 MongoDB 3.6 URI 连接
问:如何在最新版本的 MongoDB 中使用 golang 驱动程序连接到 MongoDB Atlas ?
3.6 版本中的 Go 驱动不再支持 SRV默认连接 URI 格式。相反,用户应该使用非 SRV 连接 URI 格式。
修复:
<br>mongoURI := "mongodb://admin: [电子邮件受保护]:27017/dbname"<p>dialInfo,错误:= mgo.ParseURL(mongoURI)<br>if err != nil {</p><pre class="brush:php;toolbar:false">panic(err)
}
dialInfo.Timeout = time.Duration(30)
会话,err := mgo. DialWithInfo(dialInfo)
if err != nil {
println("error") log.Fatal(err)
}
问:收到“无法访问的服务器”错误
出现此问题的原因是globalsign/mgo 不支持 SRV 连接字符串 URI
修复:
使用 mongo-go-driver 代替使用 SRV 连接 URI 进行连接:
<br> mongoURI := "mongodb srv://admin:[email protected]/dbname?ssl=true&retryWrites=true"<p>客户端,err := mongo.NewClient(options.Client().ApplyURI(mongoURI))<br>如果出错!= nil {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">log.Fatal(err)
}
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
延迟取消()
err = client.Connect(ctx)
if err != nil {
log.Fatal(err)
}
推迟client.Disconnect(ctx)
database := client.Database("go")
collection := database.Collection("atlas")
注意:将 mongo-go-driver 更新到 1.0.0 或更高版本以兼容提供的示例。
以上是如何使用最新驱动程序从 Go 连接到 MongoDB Atlas?的详细内容。更多信息请关注PHP中文网其他相关文章!