Връзката трябва да се използва повторно поради следните причини:
- Отварянето и затварянето на DB връзки при всяка заявка за API е бавно.
- Тя трудно може да се мащабира. Ако приемем, че правите няколко API заявки едновременно на потребител, ще достигнете същия лимит за връзки бързо, когато приложението получи повече потребители.
Как да управлявам MongoDB връзки в уеб приложение Node.js?
По подразбиране MongoClient
конфигурацията има максимален брой връзки на пул (poolSize
) зададен на 5
. Така че не трябва да виждате повече от ~5 връзки в MongoDB Atlas, ако имате само едно работещо копие на приложението и проверява дали клиент вече е свързан, както правите.
if (!client.isConnected()) {
await client.connect();
}
Имайте предвид, че Next.js се "рестартира" при всяка заявка в режим на разработка (next dev
) и изглежда, че засяга MongoClient
кешира и създава много връзки. В производствения режим обаче не би трябвало да имате този проблем.