У меня есть два файла go в проекте
- main.go
Эти файлы создают соединение с сервером http и mongoDB и метод, который позволит повторно использовать соединение, используяследующий
func ConnectMongoDB() {
ctx, _ := context.WithTimeout(context.Background(), 30*time.Second)
// user Connection database
// Set client options
clientOptions := options.Client().ApplyURI("mongodb+srv://localhost:27017/demo")
// Connect to MongoDB
userclient, err = mongo.Connect(ctx, clientOptions)
if err != nil {
log.Fatal(err)
}
// Check the connection
err = userclient.Ping(ctx, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println("Connected to user MongoDB!")
}
//GetMongoDBClient , return mongo client for CRUD operations
func GetMongoDBClient() *mongo.Client {
return userclient
}
query.go
Этот файл затем определяет базу данных, а затем запускает запрос по ней
client := GetMongoDBClient()
collection := client.Database("demo").Collection("user")
err := collection.FindOne(context.TODO(), filter).Decode(&user)
Когда я отправил 200 запросов, я получил письмо от Atlas, в котором говорилось, что у меня естьпревысил мою предельную квоту в 80 соединений. Как использовать пул соединений здесь?