新增功能
概述
了解
4.0版本的新特性
v4.0驱动程序版本包括以下新功能
为
mongocxx::options::change_stream实例的start_at_operation_time字段添加了获取器方法。
3.11版本的新特性
v3.11驱动程序版本包括以下新功能
添加了对MongoDB服务器v8.0的支持。
添加了对可查询加密范围查询的支持。要使用此功能,您的应用程序必须连接到MongoDB服务器8.0或更高版本。有关可查询加密的更多信息,请参阅MongoDB服务器手册中的可查询加密。
为
mongocxx::v_noabi::bulk_write添加了empty()成员函数。
有关此版本的更多信息,请参阅GitHub上的v3.11发行说明。
3.10版本更新内容
v3.10.0驱动程序发布包括以下新功能
添加了前向头文件,提供
bsoncxx和mongocxx类类型的非定义声明。驱动程序不支持用户定义的任何库实体的前向声明。要获取库实体的声明或定义,始终包含相应的头文件。CMake选项
ENABLE_BSONCXX_USE_POLY_IMPLS允许在请求无polyfill库的情况下,默认选择bsoncxxC++17 polyfill的实现。此选项默认为OFF。CMake选项
BSONCXX_POLY_USE_IMPLS允许选择bsoncxxC++17 polyfill的实现,而不是外部库或C++标准库。此选项默认为OFF。bsoncxx::v_noabi和mongocxx::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=ON和ENABLE_ABI_TAG_IN_PKGCONFIG_FILENAMES=ON。
要了解更多关于此版本的信息,请参阅GitHub上的3.10版本说明。
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.dll和mongocxx.dll。明确说明从 APM 回调中抛出异常是未定义的行为。
在 CMake 构建步骤中不会提前安装 MNMLSTC Core 头文件。
要求对于所有安装的 C++ 驱动程序包配置,通过
find_dependency()找到 MongoDB C 驱动程序 CMake 包。
有关本版本的更多信息,请参阅 GitHub 上的 v3.9 版本说明。