Может кто-нибудь объяснить, как работают постоянные соединения MongoDB?

Я привык писать только небольшие веб-приложения, и [на работе] мы создаем что-то для наших клиентов, что, как мы ожидаем, будет довольно интенсивно использовать данные.

Мы выбрали MongoDB из-за того, что нам нужна система свободной схемы, но я немного смущен тем, как MongoDB обрабатывает соединения. Меня всегда учили: открыть соединение, выполнить операцию CRUD, а затем закрыть соединение. Но документы MongoDB говорят, что вам никогда не нужно использовать функцию закрытия соединения в обычных обстоятельствах. Так нужно ли мне создавать все эти клиентские объекты Mongo и прочее?

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


person Adam    schedule 22.06.2014    source источник


Ответы (1)


Это может варьироваться в зависимости от вашего драйвера (клиентской библиотеки, которая отличается для каждого языка).

По крайней мере, в драйвере C# вам не нужно создавать более одного клиента и использовать его во всем приложении. Вам даже не нужно создавать соединение, все это внутреннее и управляется за вас.

Возьмем, к примеру, этот чрезвычайно простой код. Он создает клиента, получает базу данных, получает внутри нее коллекцию и извлекает все документы в этой коллекции (и если один из них не существует, он их создаст):

var client = new MongoClient();
var hamsters = client.GetServer().GetDatabase("HamsterSchool").GetCollection("Hamsters").FindAll();
person i3arnon    schedule 22.06.2014
comment
Спасибо. Что насчет PHP? - person Adam; 23.06.2014
comment
@ Адам Я не эксперт в PHP, но просматриваю учебник выглядит точно так же, как и в C#. - person i3arnon; 23.06.2014