首页 > 解决方案 > MongoDB Python 和 C++ 客户端 - 多个实例出错

问题描述

我还是 MongoDB 的新手。我的测试 C++ 应用程序由许多目标文件组成,其中两个有自己的 MongoDB 实例。我发现这是一个错误,因为我有一个例外:

terminate called after throwing an instance of 'mongocxx::v_noabi::logic_error'
  what():  cannot create a mongocxx::instance object if one has already been created
Aborted (core dumped)

因此,我将尝试在此应用程序中定义一个 MongoDB 实例。

现在我担心我的另一个应用程序 - 它是 Python 中的顶级程序,它加载了许多用 C++ 编写的动态库并拥有自己的 MongoDB 实例。我应该在哪里定义 MongoDB 实例 - 在顶级代码中、在每个库中、在其中一个库中?

标签: pythonc++mongodbmongo-cxx-driver

解决方案


您应该创建一个共享库来管理单例实例,mongocxx::instance并让所有其他需要使用驱动程序的库通过一些通用 API 访问该单例。请参阅instance管理示例


推荐阅读