新增功能
概述
了解
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库的情况下,默认选择bsoncxx
C++17 polyfill的实现。此选项默认为OFF
。CMake选项
BSONCXX_POLY_USE_IMPLS
允许选择bsoncxx
C++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 版本说明。