отключение от mongoDb с помощью драйвера C ++ - PullRequest
2 голосов
/ 26 января 2012

Я уверен, что это должно быть действительно просто, или я упускаю суть, но как вы отключаетесь от Mongo, используя драйвер C ++ и DBClientConnection? У DBClient есть открытый член 'connect', но я не могу найти отключение / уничтожение / удаление и т. Д.

Говорят (в переполнении стека и в Интернете) об использовании ScopedDBConnection, который, похоже, позволяет мне разорвать соединение - но очень мало примеров того, как оно будет использоваться - или информация о том, когда Я должен использовать этот класс над классом DBClientConnection.

Есть идеи?

1 Ответ

2 голосов
/ 26 января 2012

Если вы используете DBClientConnection, у него есть одно соединение, и вы не должны отключать / переподключаться. Я предполагаю, что это убивает связь, когда вызывает деструкторы. Вы можете настроить его на автоматическое переподключение, чтобы вы могли продолжать использовать его, если он потеряет соединение.

Если вы хотите иметь пул соединений и несколько соединений, вы хотите использовать ScopedDBConnection. Вы можете увидеть несколько примеров здесь: https://github.com/mongodb/mongo/blob/master/src/mongo/client/model.cpp

Вот суть:

ScopedDbConnection conn("localhost");
mongo::BSONObjBuilder obj;
obj.append( "name" , "asd" );
conn->insert("test.test", obj);
conn.done();

По сути, вы можете сделать с conn все, что можете сделать с DBClientConnection, но когда вы закончите, вы позвоните done().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...