文档菜单
文档首页
/ / /
C++ 驱动

新增功能

本页内容

  • 概述
  • 4.0 版本新增功能
  • 3.11 版本新增功能
  • 3.10 版本新增功能
  • 3.9 版本新增功能

了解

  • 4.0 版本

  • 3.11 版本

  • 3.10 版本

  • 3.9 版本

警告

重大变更

C++驱动程序v4.0包含重大变更。有关更多信息,请参阅版本4.0在升级驱动程序版本指南中。

v4.0驱动程序版本包括以下新功能

  • mongocxx::options::change_stream实例的start_at_operation_time字段添加了获取器方法。

警告

重大变更

C++驱动程序v3.11包含重大变更。有关更多信息,请参阅升级驱动程序版本指南中的版本3.11

v3.11驱动程序版本包括以下新功能

  • 添加了对MongoDB服务器v8.0的支持。

  • 添加了对可查询加密范围查询的支持。要使用此功能,您的应用程序必须连接到MongoDB服务器8.0或更高版本。有关可查询加密的更多信息,请参阅MongoDB服务器手册中的可查询加密

  • mongocxx::v_noabi::bulk_write添加了empty()成员函数。

有关此版本的更多信息,请参阅GitHub上的v3.11发行说明

警告

重大变更

C++驱动程序v3.10包含重大更改。更多信息,请参阅升级驱动程序版本指南中的版本3.10

v3.10.0驱动程序发布包括以下新功能

  • 添加了前向头文件,提供bsoncxxmongocxx类类型的非定义声明。驱动程序不支持用户定义的任何库实体的前向声明。要获取库实体的声明或定义,始终包含相应的头文件。

  • CMake选项ENABLE_BSONCXX_USE_POLY_IMPLS允许在请求无polyfill库的情况下,默认选择bsoncxxC++17 polyfill的实现。此选项默认为OFF

  • CMake选项BSONCXX_POLY_USE_IMPLS允许选择bsoncxxC++17 polyfill的实现,而不是外部库或C++标准库。此选项默认为OFF

  • bsoncxx::v_noabimongocxx::v_noabi命名空间不再声明为内联。根命名空间声明仍然受支持,并且预期将与先前定义等效。例如,bsoncxx::document仍然等效于bsoncxx::v_noabi::document,而mongocxx::client仍然等效于mongocxx::v_noabi::client

  • 默认情况下,当库文件名使用MSVC编译(由CMake的MSVC变量检测)时,它们将嵌入ABI标记字符串。这些字符串类似于以下内容

    bsoncxx-v_noabi-rhs-x64-v142-md.lib

    要禁用此行为,请在CMake配置中将ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=OFF

    ABI标记字符串也可以嵌入到pkg-config元数据文件名中,类似于以下内容

    libbsoncxx-v_noabi-rhs-x64-v142-md.pc

    要启用此行为,请在CMake配置中将ENABLE_ABI_TAG_IN_LIBRARY_FILENAMES=ONENABLE_ABI_TAG_IN_PKGCONFIG_FILENAMES=ON

要了解更多关于此版本的信息,请参阅GitHub上的3.10版本说明

警告

重大变更

C++驱动程序v3.9包含重大更改。更多信息,请参阅升级驱动程序版本指南中的版本3.9

3.9驱动程序版本包括以下新功能

  • C++驱动程序容器镜像现在可在Docker Hub上。

  • 如果您没有提供MongoDB C Driver依赖项,驱动程序将自动下载。

  • 驱动程序不再在all目标中构建测试。要构建测试,请将BUILD_TESTING=ON作为您的CMake配置的一部分设置。

  • 驱动程序使用 FetchContent 模块下载和构建MNMLSTC Core polyfill 库,如果系统没有提供,而不是使用 ExternalProject 模块。它也不会修补 MNMLSTC Core 的头文件中的 include 指令。

  • 添加了 CMake 选项 MONGOCXX_OVERRIDE_DEFAULT_INSTALL_PREFIX。如果此选项设置为 TRUE,则 CMAKE_INSTALL_PREFIX 选项默认为构建目录。此选项的默认值为 TRUE

  • 添加了管理 Atlas Search 索引。 的 API。

  • VERSIONINFO 资源添加到 bsoncxx.dllmongocxx.dll

  • 明确说明从 APM 回调中抛出异常是未定义的行为。

  • 在 CMake 构建步骤中不会提前安装 MNMLSTC Core 头文件。

  • 要求对于所有安装的 C++ 驱动程序包配置,通过 find_dependency() 找到 MongoDB C 驱动程序 CMake 包。

有关本版本的更多信息,请参阅 GitHub 上的 v3.9 版本说明

返回

ABI 版本化