Mongo C ++驱动程序

时间:2018-03-27 00:24:47

标签: c++ mongodb mongo-cxx-driver

我正在运行一个线程池,其中在线程中调用的函数需要mongocxx :: pool池变量,因此它可以调用pool.acquire()来获取客户端。我似乎无法传递池变量。我如何传递池变量。或者我可以通过我的应用程序如何使池全局化? 我正在关注此示例https://github.com/mongodb/mongo-cxx-driver/blob/master/examples/mongocxx/pool.cpp

1 个答案:

答案 0 :(得分:0)

mongocxx::pool类不可复制,因此您无法传递它(尽管您可以std::move它,但这可能对您的情况没有用处)。如果您需要共享实例,则需要将其保留在堆上,并为代码的不同部分提供一种方法来访问该共享资源,可能是通过shared_ptr。有关如何通过单例管理pool的示例,请查看来源中的instance_management示例。