文档菜单
文档首页
/ / /
Rust 驱动程序

新增功能

本页内容

  • 3.1 版本新增功能
  • 3.0.1 版本新增功能
  • 3.0 版本新增功能
  • 2.8 版本新增功能
  • 2.7 版本新增功能
  • 2.6 版本新增功能

了解 MongoDB Rust 驱动程序的以下版本中引入的新功能、改进和修复

  • 版本 3.1

  • 版本 3.0.1

  • 版本 3.0

  • 版本 2.8

  • 版本 2.7

  • 版本 2.6

Rust 驱动程序 v3.1 版本包括以下功能、改进和修复

  • 增加了对同一类型的多个密钥管理系统(KMS)提供者的支持。有关 KMS 提供者的更多信息,请参阅 MongoDB 服务器手册中的 可查询加密

  • 增加了对可查询加密范围协议的 v2 版本的支持。可查询加密的范围索引现在已为通用版(GA)。

  • 增加了对type 字段的支持,用于创建索引。有关创建索引的更多信息,请参阅 MongoDB 服务器手册中的 索引

  • 实现了 Happy Eyeballs 算法以管理 TCP 连接。有关此算法的更多信息,请参阅 Rust 文档中的 happy_eyeballs 库。

  • 当拓扑关闭时,驱动程序会发布 TopologyDescriptionChangedEvent 事件。

要了解有关此版本的更多信息,请参阅GitHub上的3.1版本发布说明

Rust驱动程序v3.0.1版本包括以下功能、改进和修复

  • 修复了在显式会话中运行聚合时无法编译的问题,并实现了自定义类型。

  • 修复了Collection::watch()方法未使用它所运行的Collection实例的类型参数的问题。

要了解有关此版本的更多信息,请参阅GitHub上的3.0.1版本发布说明

Rust驱动v3.0版本发布包含以下特性、改进和修复

  • 实现了流畅的API,以下是对传递选项和启动会话语法的修改

    • 要设置异步方法选项,直接将选项构建器方法链接到方法调用,而不是传递一个选项结构参数。

    • 要设置同步方法选项,将选项构建器方法链接到方法调用,然后调用run()方法。

    • 如果您必须构建一个单独的选项结构,将with_options()方法链接到方法调用,并传递您的选项结构参数。

    • 要启动会话,将session()方法链接到方法调用,而不是使用具有_with_session后缀的单独方法。

  • 增加了对批量写操作的支持。有关这些操作的更多信息,请参阅批量操作指南。

  • 引入了EventHandler类型以减少事件监控所需的样板代码。有关使用EventHandler类型的示例,请参阅监控指南。

  • 移除了对async-std异步运行时的支持。有关此更改的更多信息,请参阅异步和同步API指南中的配置异步运行时部分。

  • 如果使用带有no-default-features命令行标志编译Rust驱动程序应用程序,则需要使用compat功能。现在,rustlsdns-resolution功能是可选的。

  • 移除了对bson-*驱动程序特性的支持。您可以通过将bson作为直接依赖项包含到您的应用程序中来选择这些功能。

  • 移除了对读取和写入关注常量的支持。相反,使用辅助方法设置ReadConcernWriteConcern值。

  • Collection<T>类型添加了Send + Sync约束。

  • 如果没有启用压缩器功能,则移除了ClientOptions::compressor字段。

  • 更改了ReadPreferenceOptions字段的类型。现在,这些字段具有Option<ReadPreferenceOptions>类型。

  • 移除了CollectionOptions::human_readable_serialization选项。相反,使用bson::HumanReadable包装类型将用户数据序列化为人可读的形式。

  • 为所有选项结构构建器添加了对通过Into特性进行值转换的支持。

  • comment_bson 字段重命名为 comment,适用于 AggregateOptionsFindOptionsFindOneOptions 结构体。

要了解更多关于这次发布的信息,请参阅 GitHub 上的3.0 迁移指南

Rust 驱动程序 v2.8 版本包括以下功能、改进和修复:

  • 添加了 MongoDB Atlas Search 索引管理方法。要了解这些方法的详细信息,请参阅Atlas Search 索引指南。

  • 通过实现以下行为来提高网络连接性和操作可靠性:

    • 在更广泛的错误类型上执行重试。

    • 避免为遇到网络连接问题的 mongos 实例进行重试。

要了解更多关于这次发布的信息,请参阅 GitHub 上的2.8.0 发布亮点

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版本亮点

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版本亮点

返回

快速参考