2016-11-19 6 views
0

Я работаю над одним пейджером, который пишет в разные базы данных mongodb через установку API с помощью express. Для этого у меня есть один файл с именем db.js, который выполняет всю работу с модулем mongoose, а затем экспортирует два соединения в мой экспресс-файл под названием app.js.Соединения MongoDB по требованию или по функциям

Когда я запускаю файл приложения с узлом, моя консоль mongo показывает два соединения.

Вопрос в том, должен ли я структурировать экспорт так, чтобы они были функциями, которые соединяются только с БД при вызове самих функций? Есть ли что-то плохое в том, чтобы оставить эти два соединения открытыми и ждать, пока люди их будут использовать?

ответ

0

Лучше иметь соединения с базой данных, созданные при запуске приложения, и оставить их открытыми. Другой способ создания соединений при вызове API крайне неэффективен, так как загрузка соединения увеличивает количество вызовов API, а также потому, что время отклика API увеличивается.

В db.js экспортируйте ваши объекты. В вашем app.js, вы можете напрямую потребовать соответствующее соединение и начать использовать его

var db = require("../db").first; 

db.find({}, function (err, res) {}) 
+0

это в основном то, что я делаю в данный момент в вашем примере. У вас есть где-нибудь, что я могу прочитать об эффективности/надежности поддержания открытых соединений и открытия их при необходимости? –

Смежные вопросы