使用C ++驱动程序从mongoDb断开连接

时间:2012-01-26 15:35:21

标签: c++ mongodb

我确定这一定非常简单,或者我忽略了这一点,但是如何使用C ++驱动程序和DBClientConnection断开与Mongo的连接? DBClient有一个'connect'的公共成员,但没有我可以找到的disconnect / kill / drop等。

有一些关于使用ScopedDBConnection的谈话(在堆栈溢出和网络上)似乎能够让我放弃我的连接 - 但很少有如何使用它的例子 - 或者关于何时的信息我应该在DBClientConnection类上使用该类。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果您正在使用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()