MongoDB C++ 驱动程序
概述
欢迎使用 MongoDB C++ 驱动程序的官方文档网站。
开始使用
了解如何在使用C++驱动程序入门教程中安装驱动程序,建立与MongoDB的连接,并开始处理数据。
连接到MongoDB
在连接到MongoDB部分了解如何创建和配置到MongoDB部署的连接。
从MongoDB读取数据
在从MongoDB读取数据部分了解如何从MongoDB检索数据。
将数据写入MongoDB
在将数据写入MongoDB部分了解如何将数据写入MongoDB。
数据库和集合
在数据库和集合部分了解如何使用C++驱动程序与MongoDB数据库和集合交互。
使用索引优化查询
在使用索引优化查询部分了解如何处理常见的索引类型。
使用聚合转换您的数据
学习如何在使用聚合操作转换你的数据部分使用C++驱动。
保护你的数据
在保护你的数据部分了解如何对应用程序进行身份验证和对数据进行加密。
特殊数据格式
在特殊数据格式部分了解如何与特殊数据格式和自定义类型一起工作。
高级安装选项
在高级配置和安装选项部分了解有关高级配置和安装选项的内容。
最新更新
有关每个版本的新功能和更改列表,请参阅最新更新部分。
升级驱动版本
在升级驱动版本部分了解您可能需要修改应用程序以升级驱动程序版本。
问题 & 帮助
在问题 & 帮助部分了解如何报告错误、为驱动程序做出贡献以及寻找帮助。
兼容性
有关显示特定 C++ 和 MongoDB 服务器版本推荐的 C++ 驱动程序版本的兼容性表格,请参阅兼容性部分。
API 文档
有关 C++ 驱动程序中的类型和方法详细信息,请参阅C++ 驱动程序 API 文档.
C++17 Polyfill 配置
重要
建议尽可能使用 C++ 标准库,通过将 CMAKE_CXX_STANDARD 配置选项设置为 17 或更高版本。CMAKE_CXX_STANDARD
配置选项设置为 17
或更高版本。
如果使用低于 C++17 标准配置驱动程序,MongoDB C++ 驱动程序使用 C++17 功能 std::optional<T>
和 std::string_view
的 polyfill 实现。当 CMAKE_CXX_STANDARD 配置选项设置为小于 17 的数字时,驱动程序使用 bsoncxx polyfill 实现。默认情况下,此选项设置为 11
。
警告
polyfill 库的选择对 mongocxx 库的公共 API 和 ABI 有直接影响。更改 polyfill 可能会导致编译期间的源代码破坏性更改,以及链接或执行期间的二进制破坏性更改。为了限制对 polyfill 特定行为的依赖,请避免使用 stdx::string_view
和 stdx::optional
与非 bsoncxx 和非 mongocxx 库接口。
按家族和版本查看驱动程序状态
稳定性表示此驱动程序是否推荐用于生产使用。目前,没有驱动程序保证 API 或 ABI 稳定性。
有关以前版本的文档,请参阅旧版文档。
家族/版本 | 稳定性 | 开发 | 目的 |
---|---|---|---|
(仓库主分支) | 不稳定 | 活跃开发 | 新功能开发 |
mongocxx 4.0.x | 稳定 | 仅修复错误 | 当前稳定的 C++ 驱动程序版本 |
mongocxx 3.11.x | 稳定 | 至 2025 年 11 月为止修复错误 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.10.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.9.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.8.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.7.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.6.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.5.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.4.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.3.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.2.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.1.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 |
mongocxx 3.0.x | 稳定 | 无 | 以前的稳定 C++ 驱动程序版本 | |
当前驱动
mongocxx 是基于 libmongoc 的 MongoDB C++ 驱动的从头开始重写。它需要 C++11 编译器。已知它可以在 Linux、macOS、Windows 和 FreeBSD 的 x86 和 x86-64 架构上构建。
mongocxx 驱动库包括一个匹配的 bson 包,bsoncxx,该包实现了 BSON 规范。即使不使用 MongoDB,也可以单独使用此库进行对象序列化和反序列化。
mongocxx 驱动的版本号类似于 v3.x.y。
注意
没有 v2.x.y C++ 驱动以避免与已弃用的 legacy-0.0-26compat-2.x.y 驱动混淆。
如何获取帮助
在我们的MongoDB社区论坛提问。
访问我们的支持频道。
了解如何报告一个错误。
许可证
MongoDB C++驱动程序根据Apache许可证,版本2.0的条款提供。