Задать вопрос

Node.js + mongoose. Держать ли 1 соединение или открывать/закрывать под каждый запрос?

Добрый день.

Недавно начал учить node.js.

В качестве БД - mongodb. Для работы с ним использую mongooose.

Изнчально создавал новое соединение под каждый запрос и закрывал в конце. Иногда проскакивали ошибки, вроде "connection closed", когда посылался запрос с использованием уже закрытого соединения. Понятно, что это из-за моей криворукости в вопросах асинхронного кода. Но задумался над таким вопросом. Стоит ли открывать под каждый запрос новое соединение или лучше создать одно для всех?

Я правильно понимаю, что при использовании только 1 соединения, оно будет использоваться для всех пользователей. А если создавать каждый раз новое, то эти соединения будут работать параллельно?

Не бейте, если спросил глупость))
  • Вопрос задан
  • 3758 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
dizballanze
@dizballanze
Software developer at Yandex
Mongoose сам достаточно умный, чтобы управлять соединениями. См. документацию (раздел Connection pools)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
k12th
@k12th
console.log(`You're pulling my leg, right?`);
А зачем делать лишнюю работу при каждом запросе? Зачем лишний уровень коллбеков?

Надо иметь ввиду, что node.js приложения живут долго, а не запускаются на каждый запрос.

Вы же не будете вручную подливать бензин в бак после каждого такта двигателя внутреннего сгорания?
Ответ написан
AlexFork
@AlexFork
Держать пул соединений.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы