新增功能
了解以下版本中的新功能:
1.17 中的新功能
重要
v 1.17是最终计划的1 .x发布。 此版本将进行安全和错误修复,但未来的开发和功能将仅包含在驾驶员的2 .x 版本中。
1.17 Go 驱动程序版本包括以下改进和修复:
新增支持OpenID Connect (OIDC)身份验证的支持。 要学习;了解详情,请参阅 Enterprise Authentication Mechanisms(企业身份验证机制)指南中的 MONGODB-OIDC部分。
添加支持可查询Queryable Encryption(QE)范围查询的支持。 要使用此功能,您的应用必须连接到MongoDB Server 8.0或更高版本。 有关 QE范围查询的更多信息,请参阅MongoDB Server手册中的可查询Queryable Encryption。
添加支持MongoDB Server 8.0的支持,但不包括客户端批量写入功能。
扩展
IndexView
类型以包含DropOneWithKey()
和DropWithKey()
方法,这样您就可以使用键规范而不是名称来删除索引。
有关此版本中更改的更多信息,请参阅 v1.17 发布说明 在Github 上。
1.16 中的新功能
1.16 Go 驱动程序版本包括以下改进和修复:
新增对在创建Atlas Search索引时指定索引类型的支持。
启用
zstd
压缩算法时减少内存使用量。升级某些依赖项要求。 有关升级列表,请参阅 v1.16 发布说明的“升级依赖项”部分。
有关这些更改的更多信息,请参阅 v1.16 发布说明 在Github上。
1.15.1 中的新功能
1.15.1 Go驾驶员补丁发布包括以下改进和修复:
修复了可能的连接泄漏问题,即与副本集集群断开连接后留下
rttMonitor
个连接。添加了对在设立客户端范围的超时和操作超时时手动指定读取和聚合操作的
maxTimeMS
值的支持。添加可对变更流调用的
RemainingBatchLength()
方法。
有关这些更改的更多信息,请参阅 v1.15.1 发布说明 在Github上。
1.15 中的新功能
1.15 Go 驱动程序版本包括以下改进和修复:
可以通过指定
timeoutMS
连接选项或调用 SetTimeout() 函数,设置整个客户端范围的超时,可以减少连接中断。设置超时后,驱动程序会在操作超时后尝试重新使用连接,并等待一秒后检查确认是否可以重新使用连接,如果不可用即关闭连接。连接池事件包括一个
Duration
字段,用于测量结账时长和建立连接所需的总时间。
1.14 中的新功能
1.14 Go 驱动程序版本包括以下改进和修复:
不再支持 1.18 之前的 Go 版本。
如果心跳超时,则会提前取消正在进行的操作。
包含
"mongodb+srv://"
前缀的连接字符串可以在 SRV 主机名中包含大写字母。
1.13 中的新功能
1.13 Go 驱动程序版本包括以下改进和修复:
用于服务器选择和 SDAM 的日志记录。要了解有关日志记录的更多信息,请参阅日志记录文档。
Collection
类型的方法,它们可让您以编程方式管理搜索索引。event.CommandStartedEvent
和event.CommandFinishedEvent
事件返回DatabaseName
字段。此字段也包含在类似命令日志记录的字段中。在分片拓扑结构中,当选择服务器重试未成功的查询时,驱动程序会排除最初尝试的服务器。相反,如果有多个符合条件的
mongos
实例,驱动程序将随机选择一个服务器。异常实例将自动从选择中排除。AWS Lambda 和类似的函数即服务 (FaaS) 平台上默认禁用流 SDAM。您可以使用
serverMonitoringMode
URI 选项启用监控。
1.12.1 中的新功能
1.12 Go 驱动程序版本包括以下改进和修复:
结束会话时,驱动程序会取消固定连接。这样,当用户在连接到负载均衡器的情况下运行事务时,连接不会泄漏。
当您用无效类型解组空的
bson.RawValue
类型或编组ReadConcern
实例的nil
指针时,驱动程序不会抛出运行时错误。将
options.LogComponentAll
正确设置为日志组件会导致针对所有组件发布日志。
1.12 中的新功能
重要
弃用通知
mongo.NewClient()
和client.Connect()
方法已弃用。您可以使用mongo.Connect()
方法在一次调用中创建客户端并进行连接。
1.12 的新增功能Go 驱动程序发布版本包括:
可查询加密
此驱动程序版本增加了对可查询加密(QE)的支持。如要详细了解使用 QE 功能的要求,请参阅可查询加密驱动程序兼容性表。
当您创建新的加密集合时,ClientEncryption.CreateEncryptedCollection()
方法会自动创建数据加密密钥。要了解如何使用 QE 功能,请参阅服务器手册中的快速入门。
日志接口
您现在可以通过 LogSink
日志记录接口来记录连接管理和命令执行事件。
要了解更多信息,请参阅日志记录基础知识指南。
其他 BSON 编组选项
此驱动程序版本向 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 值予以解组。