登录
首页 >  Golang >  Go问答

连接官方的mongo-go-driver到Mongodb的Unix套接字

来源:stackoverflow

时间:2024-03-25 08:00:49 124浏览 收藏

使用官方 MongoDB Go 驱动程序连接到 Unix 套接字时,需要转义斜杠。例如,使用 `mongoURI := "mongodb://%2Ftmp%2Fmongodb-27017.sock"`,并使用 `mongo.NewClient` 创建客户端。该驱动程序支持标准连接字符串和 DNS Seedlist 连接格式,但建议使用这些格式,因为 Unix 套接字主要用于单机内访问。

问题内容

找不到有关官方 mongo-go-driver 的 unix 域套接字连接支持的任何信息。

是否得到官方实施和支持?

“mongodb:///tmp/mongodb-27017.sock”uri 不起作用。


解决方案


是否得到官方实施和支持?

使用官方 MongoDB Go driver,您可以直接连接到 uri 套接字。您只需要转义斜杠即可。例如使用 v1.1+:

mongoURI := "mongodb://%2Ftmp%2Fmongodb-27017.sock"

client, err := mongo.NewClient(options.Client().ApplyURI(mongoURI))
if err != nil {
    panic(err)
}
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
err = client.Connect(ctx)
if err != nil {
    panic(err)
}

此外,mongo.Client 支持两种类型的连接字符串:

请注意,mongodb 在设计上是一个分布式数据库(请参阅 Replica Set)。套接字是一种基于文件的通信,旨在用于在单台机器内进行访问。除非您的用例和要求特别要求通过 unix 套接字直接连接,否则我建议使用上面的连接字符串格式之一。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《连接官方的mongo-go-driver到Mongodb的Unix套接字》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>