Mongodb unix 套接字与官方 mongo-go-driver 的连接?



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

它是否得到正式实施和支持?

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

它是否得到正式实施和支持?

使用官方的MongoDB Go驱动程序,您可以直接连接到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)
}

此外,蒙戈。客户端支持两种类型的连接字符串:

  • 标准连接字符串格式,即mongodb://user:pwd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/admin?replicaSet=myRepl

  • DNS 种子列表连接格式,即mongodb+srv://server.example.com/

请注意,MongoDB在设计上是一个分布式数据库(参见副本集(。套接字是一种基于文件的通信,旨在在单台计算机内访问。除非您的用例和要求特别要求直接通过 Unix 套接字连接,否则我建议改用上述连接字符串格式之一。

最新更新