一般性变更
独立运行部署上的 $$CLUSTER_TIME 错误
从MongoDB 8.2 开始,如果您尝试在独立运行部署中使用 CLUSTER_TIME 变量,服务器将返回错误。
视图上的 $rankFusion
从MongoDB 8.2 开始,$rankFusion 现在可以在视图上运行。有关更多信息,请参阅 $rankFusion。
orphanCleanupDelaySecs 更改
从MongoDB 8.2 开始,orphanCleanupDelaySecs 的默认值为 3600(之前为 900)。
剩余重新分片时间阈值更改
从MongoDB 8.2 开始(也适用于 8.1.2 和 8.0.13),当完成剩余工作的估计时间为 500 毫秒或更短时,重新分片进入关键部分。
$cpuNanos 变更
从MongoDB 8.2 开始,cpuNanos 位于 $queryStats 聚合阶段指标中,并包括与查询操作的 CPU 使用率相关的其他指标。cpuNanos 指标仅适用于Linux系统。
在早期版本中,cpuNanos 位于 operationMetrics 中。
Change Streams
在MongoDB 8.2.0 中,即使您未设立showExpandedEvents,collectionUUID 和 updateDescription.disambiguatedPaths 也会包含在适用的更改事件中。在 8.2.0 之前的MongoDB版本和 8.2 版本中。1在更高版本中,仅当您使用 showExpandedEvents: true 打开变更流时才包含这些字段。
如果从MongoDB 8.2.0升级到MongoDB 8.2.1 或更高版本,collectionUUID 和 updateDescription.disambiguatedPaths 将不再出现在变更事件中,除非您在打开流时设立showExpandedEvents。
应用程序不应依赖 commitTimestamp。它在MongoDB 8.2.0 中公开,但在MongoDB 8.2.1 及更高版本中默认不存在。
删除的参数
MongoDB 8.2 删除了 catalogCacheIndexMaxEntries 参数。
MongoDB 8.1 中引入的兼容性更改
MongoDB 8.2 还包括MongoDB 8.1 中引入的更改。本部分介绍MongoDB 8.1 中引入的兼容性更改。
$densify 验证更改
从MongoDB 8.1 开始,如果 field 与 partitionByFields 大量中的任何字段共享其前缀,则$densify阶段会出错。示例,以下 field 和 partitionByFields 的组合会导致错误:
field: "timestamp",partitionByFields: ["timestamp"]field: "timestamp",partitionByFields: ["timestamp.hours"]field: "timestamp.hours",partitionByFields: ["timestamp"]
驱动程序不兼容
在身份验证之前运行 buildInfo 命令的任何应用程序都与MongoDB 8.1 不兼容。由于此更改,以下驱动程序版本与MongoDB 8.1 不兼容:
Java虚拟机(JVM)驱动程序 v3.x 及更早版本(包括Java Sync、 Java Reactive Streams、 Kotlin Coroutine、 Kotlin Sync和Scala驱动程序)
.NET/C# 驱动程序 v2.14.1 及更早版本
已删除对冲读
从MongoDB 8.1 开始,删除了对冲读。如果您在查询中指定对冲读选项, MongoDB将执行查询但忽略对冲选项并记录警告。
以下与对冲读相关的服务器参数不再产生影响:
maxTimeMSForHedgedReadsopportunisticSecondaryTargetingreadHedgingMode
serverStatus 命令不再返回 hedgingMetrics对象。
在不同分区中插入相同的值
从MongoDB 8.0.20 开始,如果不同分区中存在相同的值,$fill 可以使用 linear 方法进行插值。
早期MongoDB版本会返回错误,指出排序字段不能有重复值。
有关详细信息,请参阅在不同分区中插入相同的值。
最大传入连接数
Starting in MongoDB 8.1 (and 8.0.16, 7.0.27), the maximum number of incoming connections that you can set with the net.maxIncomingConnections configuration file option on Linux systems is the value of (RLIMIT_NOFILE / 2) * 0.8. If you specify a larger value, MongoDB uses the default value.
子类型转换
从MongoDB 8.1 开始,尝试在不同 binData 子类型之间进行转换时,$convert 会返回错误。在MongoDB 8.0 中,$convert 返回原始值和原始子类型:不执行转换。8.0 之前的MongoDB版本没有 binData 转换。
处理无效文档的验证操作
如果您对集合使用 errorAndLog验证动作,则MongoDB无法降级,直到您删除该集合,或者将集合的验证动作更改为旧版本支持的操作。要更改对集合的验证动作,请使用 collMod 命令。
弃用
已弃用 | 说明 |
|---|---|
| 从MongoDB 8.1 开始,旧的 有关详细信息,请参阅 |