python - 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 实例 - 在顶级代码中、在每个库中、在其中一个库中?
解决方案
您应该创建一个共享库来管理单例实例,mongocxx::instance
并让所有其他需要使用驱动程序的库通过一些通用 API 访问该单例。请参阅instance
管理示例。
推荐阅读
- python-3.x - Conda 环境处于“环境不一致”的无法解决的循环中,如何解决?
- java - 杰克逊没有序列化财产
- python - Python:无法从不同目录中的另一个文件导入类
- hibernate - 我遇到了一个异常:无法确定 com.english.learn.entity.Forms 的类型。为什么?
- android - 迁移到 AndroidX - android.support.FILE_PROVIDER_PATHS
- isabelle - 第一个伊莎贝尔例子
- python - 使用pytorch时使用for循环在python中创建self属性
- gmail - Google 的政策是否允许在其 API 之外进行 IMAP 访问以供业务使用?
- c - 反转字符串的函数将字符串更改为空,而不是反转
- java - Netbeans 11.1 以 Windows 的默认语言打印数字