Пул соединений в node-mongodb-native, когда вызывать db.open и db.close

Я прочитал здесь большинство вопросов о node-mongodb-native, но я не могу работать из стандартной практики относительно того, когда я должен открывать/закрывать соединение.

Некоторые источники говорят, что открываются/закрываются по мере необходимости, некоторые говорят, что везде используется один экземпляр базы данных. Поддерживает ли node-mongodb-native автоматический пул соединений? Если да, то как мне это использовать?

Я был бы очень признателен за пример кода, показывающий правильное использование db.open и db.close в отношении, скажем, запроса на вход.


person Flash    schedule 16.06.2012    source источник
comment
Я знаю, что это старо, но здесь есть пример использования generic-pool: github.com/dave- elkan/layered-express А об использовании параметров poolSize подробнее здесь: mongodb.github.com/node-mongodb-native/api-generated/   -  person hurrycaner    schedule 23.01.2013


Ответы (2)


Я предлагаю использовать generic-pool

Это очень ясно и довольно просто, вы определяете, как открыть соединение, как закрыть и размер пула. Модуль позаботится обо всем остальном, создавая новые соединения по мере необходимости и удаляя неиспользуемые соединения по истечении времени ожидания, которое вы также выбираете.

Я использую модуль с каждым ресурсом, который мне нужно объединить, поэтому мне не нужно каждый раз возиться с пользовательским API объединения.

person bbbonthemoon    schedule 16.06.2012
comment
Вы успешно использовали его с mongodb? - person Flash; 18.06.2012
comment
да, конечно, но это общий модуль пула, вы можете использовать его буквально с любым ресурсом - person bbbonthemoon; 18.06.2012
comment
В этом нет необходимости. Собственный драйвер MongoDB уже выполняет внутренний пул соединений. - person Serhat Ozgel; 09.09.2013

Это лучший ответ, который я мог найти. Судя по всему, это работает автоматически, но я пока выясняю детали.

Дайте мне знать, если вы найдете что-нибудь!

http://technosophos.com/node/255

person Rob    schedule 26.06.2012