新增功能
了解以下版本的 MongoDB Rust 驱动程序中引入的新功能、改进和修复:
3.1 中的新功能
Rust驾驶员3.1发布包含以下功能、改进和修复:
添加支持多个相同类型的KMS ( KMS )提供商的支持。 要学习;了解有关KMS提供程序的更多信息,请参阅MongoDB Server手册中的可查询Queryable Encryption。
新增支持v 2的Queryable Encryption范围协议的支持。 可查询Queryable Encryption的范围索引现已正式发布。
添加创建索引时对
type
字段的支持。 要学习;了解有关创建索引的更多信息,请参阅MongoDB Server手册中的索引。实现用于管理 TCP 连接的“Happy Eyeballs”算法。 要学习;了解有关此算法的更多信息,请参阅 happy_eyeballs crate 的Rust文档。
当拓扑结构关闭时,驾驶员会发布
TopologyDescriptionChangedEvent
事件。
要学习;了解有关此发布的更多信息,请参阅 v3.1 发布说明 在Github 上。
3.0.1 中的新功能
Rust驾驶员3.0.1发布包含以下功能、改进和修复:
修复了在显式会话中运行并实现了自定义类型时无法编译聚合的问题。
修复了以下问题:
Collection::watch()
方法未使用其运行所在的Collection
实例的类型参数。
要了解有关此版本的更多信息,请参阅 v3.0.1 版本说明。
3.0 中的新功能
Rust驾驶员3.0发布包含以下功能、改进和修复:
实现了 Fluent API,它引入了以下用于传递选项和启动会话的语法更改:
要设立异步方法选项,请将选项构建器方法直接链接到方法调用,而不是传递选项结构体参数。
要设立同步方法选项,请将选项构建器方法链接到方法调用,然后调用
run()
方法。如果必须构造单独的选项结构体,请将
with_options()
方法链接到方法调用,并将选项结构体作为参数传递。要启动会话,请将
session()
方法链接到方法调用,而不是使用具有_with_session
后缀的单独方法。
添加对批量写入操作的支持。 要学习;了解有关这些操作的详情,请参阅批量操作指南。
引入
EventHandler
类型以减少事件监控所需的样板代码量。 有关使用EventHandler
类型的示例,请参阅监控指南。删除了对
async-std
异步运行时的支持。 要学习;了解有关此更改的更多信息,请参阅 异步和同步 API指南的配置异步运行时部分。如果Rust驾驶员应用程序是使用
no-default-features
命令行标志编译的,则需要使用compat
功能。rustls
和dns-resolution
特征现在是可选的。删除了对
bson-*
驾驶员功能的支持。 您可以通过将bson
作为直接依赖项包含在应用程序中来选择这些功能。删除支持读关注和写关注(write concern)常量的支持。 相反,请使用辅助方法来设立
ReadConcern
和WriteConcern
值。将
Send + Sync
约束添加到Collection<T>
类型。如果未启用任何压缩器功能,则删除
ClientOptions::compressor
字段。更改
ReadPreferenceOptions
字段的类型。 这些字段现在具有Option<ReadPreferenceOptions>
类型。删除
CollectionOptions::human_readable_serialization
选项。 相反,请使用bson::HumanReadable
包装器类型将用户数据序列化为人类可读的形式。通过
Into
特征为所有选项结构体构建者添加对值转换的支持。将
AggregateOptions
、FindOptions
和FindOneOptions
结构体的comment_bson
字段重命名为comment
。
要学习;了解有关此发布的更多信息,请参阅 v3.0 迁移指南 在Github 上。
2.8 中的新增功能
Rust 驱动程序 v2.8 版本包括以下功能、改进和修复:
添加 MongoDB Atlas Search 搜索索引管理方法。要了解有关这些方法的更多信息,请参阅Atlas Search 搜索索引指南。
通过实施以下行为来提高网络连接和操作可靠性:
对驱动程序遇到的更大范围的错误类型执行重试。
避免对遇到网络连接问题的
mongos
实例进行重试。
要了解有关此版本的更多信息,请参阅 GitHub 上的 v2.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 版本包括以下功能、改进和修复:
支持 Amazon Web Services Identity and Access Management (IAM) 角色,例如 Elastic Kubernetes Service (EKS) 帐户。
使用 Cloud Key Management System (KMS) 时支持 GCP 连接的服务帐号。
支持从 Azure KMS 获取按需 CSFLE 档案。
实现
Namespace
结构的FromStr
特征。 此更改允许您将包含数据库和collection名称的字符串(例如"testdb.testcollection"
Namespace
解析为实例。将
server_id
作为i64
类型包含在ConnectionInfo
结构中。删除对
Cursor
引用的值的大多数类型限制。更新驱动程序依赖项中的
libmongocrypt
版本,以便将 Queryable Encryption 功能与相等查询结合使用。
要了解有关此版本的更多信息,请参阅 GitHub 上的 v2.6.0 版本亮点。