Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs 菜单
Docs 主页
/ / /
Go 驱动程序

新增功能

提示

版本说明

要学习;了解有关版本之间的更改和更新的详情,可以阅读随驾驶员源代码一起发布的 发布说明。

了解以下版本中的新功能:

1.15 Go 驱动程序版本包括以下改进和修复:

  • 可以通过指定timeoutMS 连接选项或调用 SetTimeout() 函数来设置客户端范围的超时,从而缓解连接流失。设立超时后,驾驶员会在操作超时后尝试重用连接,并等待最多一秒钟以检查该连接是否可以重用,然后再将其关闭。

  • 连接池事件包括一个 Duration 字段,用于测量结账时长和建立连接所需的总时间。

1.14 Go 驱动程序版本包括以下改进和修复:

  • 不再支持 1.18 之前的 Go 版本。

  • 如果心跳超时,则会提前取消正在进行的操作。

  • 包含 "mongodb+srv://" 前缀的连接字符串可以在 SRV 主机名中包含大写字母。

1.13 Go 驱动程序版本包括以下改进和修复:

  • 服务器选择和 SDAM 的日志记录。 要学习;了解有关日志记录的更多信息,请参阅日志记录文档。

  • Collection 类型的方法,它们可让您以编程方式管理搜索索引。

  • event.CommandStartedEventevent.CommandFinishedEvent 事件返回 DatabaseName 字段。此字段也包含在类似命令日志记录的字段中。

  • 在分片拓扑结构中,当选择服务器重试未成功的查询时,驱动程序会排除最初尝试的服务器。相反,如果有多个符合条件的 mongos 实例,驱动程序将随机选择一个服务器。异常实例将自动从选择中排除。

  • AWS Lambda 和类似的函数即服务 (FaaS) 平台上默认禁用流 SDAM。您可以使用 serverMonitoringMode URI 选项启用监控。

1.12 Go 驱动程序版本包括以下改进和修复:

  • 结束会话时,驱动程序会取消固定连接。这样,当用户在连接到负载均衡器的情况下运行事务时,连接不会泄漏。

  • 当您用无效类型解组空的 bson.RawValue 类型或编组 ReadConcern 实例的 nil 指针时,驱动程序不会抛出运行时错误。

  • options.LogComponentAll 正确设置为日志组件会导致针对所有组件发布日志。

重要

弃用通知

  • mongo.NewClient()client.Connect() 方法已弃用。您可以使用 mongo.Connect() 方法在一次调用中创建客户端并进行连接。

1.12 的新增功能Go 驱动程序发布版本包括:

此驱动程序版本增加了对可查询加密(QE)的支持。如要详细了解使用 QE 功能的要求,请参阅可查询加密驱动程序兼容性表

创建新的加密集合时,ClientEncryption.CreateEncryptedCollection() 方法会自动创建数据加密密钥。要学习;了解如何使用 QE功能,请参阅服务器手册中的Queryable Encryption快速入门

您现在可以通过 LogSink 日志记录接口来记录连接管理和命令执行事件。

要了解更多信息,请参阅日志记录基础知识指南。

此驱动程序版本向 options 包添加了功能,以指定驱动程序如何编组和解组 BSON。

以下示例展示如何在 Client 上设置 BSON 选项。这些选项指定以下行为:

  • 如果缺少 bson struct 标记,则驱动程序将回退到使用 json struct 标记。

  • 驱动程序将 nil Go 映射类型编组为空 BSON 文档。

  • 驱动程序将 nil Go 切片类型编组为空 BSON 数组。

bsonOpts := &options.BSONOptions{
UseJSONStructTags: true,
NilMapAsEmpty: true,
NilSliceAsEmpty: true,
}
options.Client().SetBSONOptions(bsonOpts)

有关如何指定和实现BSONOptions 类型的完整示例,请参阅API文档。

此驱动程序版本简化了WriteConcern API。如要了解有关更改的更多信息,请参阅写关注。

  • 支持使用 EKS 中的 AWS IAM 角色进行身份验证。

  • 添加 Cursor.SetBatchSize() 方法,允许指定在遍历游标时获取批次的大小。

  • 添加 UnmarshalValue() 方法,允许对使用 MarshalValue() 方法编组的 BSON 值予以解组。

后退

快速参考

在此页面上