Как установить пул подключений с помощью драйвера MongoDB Go? - PullRequest
0 голосов
/ 21 июня 2019

Я использую MongoDB Go Driver на моем сервере Go (1.11), который работает на App Engine Google Cloud. Я не совсем уверен, нужно ли мне вручную настраивать пул соединений или об этом уже позаботились прямо из коробки. Например, я не совсем уверен, что именно означает контекст (с тайм-аутом).

Мой код выглядит так:

package tools

import (
    "context"
    "time"
    "valuation-app/settings"

    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
)

// ConnectToDB starts a new database connection and returns a reference to it
func ConnectToDB() (*mongo.Database, error) {
    settings := settings.Get().Database
    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
    defer cancel()
    options := options.Client().ApplyURI(settings.URI)
    options.SetMaxPoolSize(10)
    client, err := mongo.Connect(ctx, options)
    if err != nil {
        return nil, err
    }

    return client.Database(settings.DatabaseName), nil
}
...