新增功能
了解 MongoDB Rust 驱动程序的以下版本中引入的新功能、改进和修复
3.1 版本更新内容
Rust 驱动程序 v3.1 版本包括以下功能、改进和修复
增加了对同一类型的多个密钥管理系统(KMS)提供者的支持。有关 KMS 提供者的更多信息,请参阅 MongoDB 服务器手册中的 可查询加密。
增加了对可查询加密范围协议的 v2 版本的支持。可查询加密的范围索引现在已为通用版(GA)。
增加了对
type
字段的支持,用于创建索引。有关创建索引的更多信息,请参阅 MongoDB 服务器手册中的 索引。实现了 Happy Eyeballs 算法以管理 TCP 连接。有关此算法的更多信息,请参阅 Rust 文档中的 happy_eyeballs 库。
当拓扑关闭时,驱动程序会发布
TopologyDescriptionChangedEvent
事件。
要了解有关此版本的更多信息,请参阅GitHub上的3.1版本发布说明。
3.0.1版本的新增功能
Rust驱动程序v3.0.1版本包括以下功能、改进和修复
修复了在显式会话中运行聚合时无法编译的问题,并实现了自定义类型。
修复了
Collection::watch()
方法未使用它所运行的Collection
实例的类型参数的问题。
要了解有关此版本的更多信息,请参阅GitHub上的3.0.1版本发布说明。
3.0版本更新内容
Rust驱动v3.0版本发布包含以下特性、改进和修复
实现了流畅的API,以下是对传递选项和启动会话语法的修改
要设置异步方法选项,直接将选项构建器方法链接到方法调用,而不是传递一个选项结构参数。
要设置同步方法选项,将选项构建器方法链接到方法调用,然后调用
run()
方法。如果您必须构建一个单独的选项结构,将
with_options()
方法链接到方法调用,并传递您的选项结构参数。要启动会话,将
session()
方法链接到方法调用,而不是使用具有_with_session
后缀的单独方法。
增加了对批量写操作的支持。有关这些操作的更多信息,请参阅批量操作指南。
引入了
EventHandler
类型以减少事件监控所需的样板代码。有关使用EventHandler
类型的示例,请参阅监控指南。移除了对
async-std
异步运行时的支持。有关此更改的更多信息,请参阅异步和同步API指南中的配置异步运行时
部分。如果使用带有
no-default-features
命令行标志编译Rust驱动程序应用程序,则需要使用compat
功能。现在,rustls
和dns-resolution
功能是可选的。移除了对
bson-*
驱动程序特性的支持。您可以通过将bson
作为直接依赖项包含到您的应用程序中来选择这些功能。移除了对读取和写入关注常量的支持。相反,使用辅助方法设置
ReadConcern
和WriteConcern
值。为
Collection<T>
类型添加了Send + Sync
约束。如果没有启用压缩器功能,则移除了
ClientOptions::compressor
字段。更改了
ReadPreferenceOptions
字段的类型。现在,这些字段具有Option<ReadPreferenceOptions>
类型。移除了
CollectionOptions::human_readable_serialization
选项。相反,使用bson::HumanReadable
包装类型将用户数据序列化为人可读的形式。为所有选项结构构建器添加了对通过
Into
特性进行值转换的支持。将
comment_bson
字段重命名为comment
,适用于AggregateOptions
、FindOptions
和FindOneOptions
结构体。
要了解更多关于这次发布的信息,请参阅 GitHub 上的3.0 迁移指南。
2.8 新特性
Rust 驱动程序 v2.8 版本包括以下功能、改进和修复:
添加了 MongoDB Atlas Search 索引管理方法。要了解这些方法的详细信息,请参阅Atlas Search 索引指南。
通过实现以下行为来提高网络连接性和操作可靠性:
在更广泛的错误类型上执行重试。
避免为遇到网络连接问题的
mongos
实例进行重试。
要了解更多关于这次发布的信息,请参阅 GitHub 上的2.8.0 发布亮点。
2.7版本更新内容
Rust驱动v2.7版本发布包含以下特性、改进和修复
将
human_readable_serialization
选项添加到CollectionOptions
结构体中。此选项指示驱动程序将传递给CRUD方法的值序列化为可读格式。此选项的默认值为false
。警告
如果您将
human_readable_serialization
的值设置为true
,您的插入操作可能运行得更慢。添加了
run_cursor_command()
方法来运行数据库命令并作为Cursor
类型检索响应。有关更多信息,请参阅运行命令指南。当您使用
tracing-unstable
功能标志时,添加了SDAM事件日志记录。为
Client
和连接管理添加以下配置max_connecting
:您可以在ClientOptions
结构体中设置的选项,用于指定可以并行建立的连接数。有关此选项的更多信息,请参阅性能考虑指南中的连接池。Client::warm_connection_pool()
:您可以使用此方法在连接池中创建新连接,以提供更可预测的性能。使用此方法时,驱动程序会尝试创建到min_pool_size
设置中指定的连接数的连接。Client::shutdown()
:您可以使用此方法停止后台任务并等待处理程序释放。如果您使用事件处理程序引用外部资源,则此方法可能很有用,因为这些处理程序可能在Client
关闭后仍在执行任务。
要了解更多关于这个版本的信息,请参阅GitHub上的v2.7.0版本亮点。
2.6版本的新特性
Rust驱动v2.6版本包含以下特性、改进和修复
支持AWS身份和访问管理(IAM)角色,如弹性Kubernetes服务(EKS)账户。
在使用云密钥管理系统(KMS)时,支持GCP附加的服务账户。
支持从Azure KMS按需获取CSFLE凭证。
实现了
FromStr
特质,用于Namespace
结构。此更改允许您将包含数据库和集合名称的字符串,如"testdb.testcollection"
,解析为Namespace
实例。在
ConnectionInfo
结构中将server_id
包含为i64
类型。移除大部分由
Cursor
引用的值的类型约束。更新驱动依赖中的
libmongocrypt
版本,以便使用相等查询的查询加密功能。
想了解更多关于这个版本的信息,请查看GitHub上的v2.6.0版本亮点。