Mongodb Unix сокет соединение с официальным Mongo-Go-драйвером? - PullRequest
0 голосов
/ 22 сентября 2019

Не удается найти информацию о поддержке подключения доменных сокетов unix к официальному драйверу mongo-go.

Официально ли оно реализовано и поддерживается?

"mongodb: /// tmp"/mongodb-27017.sock "Ури не работает.

1 Ответ

1 голос
/ 23 сентября 2019

Это официально реализовано и поддерживается?

Используя официальный драйвер 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)
}

Кроме того, mongo.Client поддерживает два типа строки подключения:

Обратите внимание, что MongoDB по своей структуре является распределенной базой данных (см. Набор реплик ).Сокет - это файловая связь, предназначенная для доступа на одной машине.Если ваш сценарий использования и требования не требуют подключения напрямую через сокеты Unix, я бы рекомендовал вместо этого использовать один из форматов строки подключения, приведенных выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...