兼容性
mongodb 兼容性
以下兼容性表指定了与特定版本的 MongoDB 一起使用的 C 驱动的推荐版本或版本。
第一列列出驱动程序版本。
重要
MongoDB 在服务器版本的生命周期结束日期(EOL)之后三年确保 MongoDB 服务器与驱动程序的兼容性。有关 MongoDB 发布和 EOL 日期的更多信息,请参阅MongoDB 软件生命周期计划.
兼容性表图例
图标 | 说明 |
---|---|
✓ | 支持所有功能。 |
⊛ | 驱动程序版本将与 MongoDB 版本一起工作,但不支持所有新的 MongoDB 功能。 |
无标记 | 驱动程序版本未与 MongoDB 版本进行测试。 |
C 驱动程序版本 | MongoDB 8.0 | MongoDB 7.0 | MongoDB 6.0 | MongoDB 5.0 | MongoDB 4.4 | MongoDB 4.2 | MongoDB 4.0 | MongoDB 3.6 |
---|---|---|---|---|---|---|---|---|
1.28 到 1.29 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
1.24 到 1.27 | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
1.22 到 1.23 | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
1.19 1.21 | ⊛ | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ |
1.18 | ⊛ | ⊛ | ⊛ | ✓ [1] | ✓ | ✓ | ✓ | ✓ |
1.17 | ⊛ | ⊛ | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ |
1.15 到 1.16 | ⊛ | ⊛ | ⊛ | ⊛ | ⊛ | ✓ | ✓ | ✓ |
1.11 到 1.14 | ⊛ | ⊛ | ⊛ | ⊛ | ⊛ | ⊛ | ✓ | ✓ |
1.9 到 1.10 | ✓ |
[1] | 1.18 驱动程序不支持副本集上的快照读取。有关更多信息,请参阅 MongoDB 服务器版本 5.0 发布说明。 |
驱动程序不支持较旧的 MongoDB 版本。
语言兼容性
以下兼容性表格指定了与特定版本的C一起使用的MongoDB C驱动的推荐版本。
第一列列出驱动程序版本。
C 驱动程序版本 | C17/C18 | C11 | C99 | C89 |
---|---|---|---|---|
1.24至1.29 | ✓ | ✓ | ✓ | |
<= 1.23 | ✓ | ✓ | ✓ |
有关如何阅读兼容性表格的更多信息,请参阅我们关于MongoDB兼容性表格的指南。
平台兼容性
本节包含有关C驱动支持的平台和工具链版本兼容性信息。
操作系统
以下操作系统与C驱动进行了持续测试
操作系统 | 备注 |
---|---|
Debian | 版本9.2、10.0和11.0 |
RHEL | 版本7.0、7.1、8.1、8.2和8.3。支持相同发布版本的RHEL衍生版本(例如,CentOS、Rocky Linux或AlmaLinux)。Fedora也得到支持,但未进行持续测试。 |
Ubuntu | 版本16.04、18.04和20.04。后续的次要版本也得到支持。Ubuntu 22.04及更高版本尚未进行测试。还支持基于受支持Ubuntu版本的Ubuntu衍生版本。 |
Arch Linux | |
macOS | 版本11.0 |
Windows Server 2008和Windows Server 2016 | 支持同一代Windows变体 |
编译器
以下编译器与 C 驱动程序进行了持续测试
编译器 | 备注 |
---|---|
Clang | 版本 3.7、3.8 和 6.0。也支持较新版本,以及相应的 Apple Clang 版本。 |
GNU 编译器集合(GCC) | 版本 4.8、5.4、6.3、7.5、8.2、8.3、9.4 和 10.2。也测试并支持 MinGW-w64 GCC。 |
Microsoft Visual C++(MSVC) | 使用 MSVC 14.x(Visual Studio 2015)和 15.x(Visual Studio 2017)进行了测试。支持较新版本的 MSVC,但尚未进行测试。 |
架构
以下 CPU 架构与 C 驱动程序进行了持续测试
架构 | 备注 |
---|---|
x86(32位) | 仅在 Windows 上测试 |
x86_64(64位 x86) | 在 Linux、macOS 和 Windows 上测试 |
ARM / aarch64 | 在 macOS 和 Linux 上测试 |
Power8(ppc64le) | 仅在 Linux 上测试 |
zSeries(s390x) | 仅在 Linux 上测试 |
其他平台
其他平台和工具链未经过测试,但我们预期先前平台相似版本可以正常工作。如果您遇到了预期可以工作但实际上不能工作的平台或工具链,请提交一个问题描述问题,或者打开一个GitHub Pull Request来修复它。
重要
欢迎提交简单的Pull Request来修复不支持的平台,但将根据具体情况考虑。接受修复不支持平台上库的Pull Request并不意味着完全支持该平台。