Docs 菜单
Docs 主页
/ /

MongoDB 8.2中的兼容性更改

重要

MongoDB 8.2 是最新的次要发布。从MongoDB 8.2 开始,次要版本可用于特定使用案例的本地部署部署(MongoDB Community和 Enterprise)。有关更多信息,请参阅 MongoDB版本控制。

要安装支持本地部署使用的最新MongoDB版本,请参阅安装说明。

从MongoDB 8.2 开始,如果您尝试在独立运行部署中使用 CLUSTER_TIME 变量,服务器将返回错误。

从MongoDB 8.2 开始,$rankFusion 现在可以在视图上运行。有关更多信息,请参阅 $rankFusion

从MongoDB 8.2 开始,orphanCleanupDelaySecs 的默认值为 3600(之前为 900)。

从MongoDB 8.2 开始(也适用于 8.1.2 和 8.0.13),当完成剩余工作的估计时间为 500 毫秒或更短时,重新分片进入关键部分。

从MongoDB 8.2 开始,cpuNanos 位于 $queryStats 聚合阶段指标中,并包括与查询操作的 CPU 使用率相关的其他指标。cpuNanos 指标仅适用于Linux系统。

在早期版本中,cpuNanos 位于 operationMetrics 中。

MongoDB 8.2 删除了 catalogCacheIndexMaxEntries 参数。

MongoDB 8.2 还包括MongoDB 8.1 中引入的更改。本部分介绍MongoDB 8.1 中引入的兼容性更改。

从MongoDB 8.1 开始,如果 fieldpartitionByFields 大量中的任何字段共享其前缀,则$densify阶段会出错。示例,以下 fieldpartitionByFields 的组合会导致错误:

  • 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将执行查询但忽略对冲选项并记录警告。

以下与对冲读相关的服务器参数不再产生影响:

  • maxTimeMSForHedgedReads

  • opportunisticSecondaryTargeting

  • readHedgingMode

serverStatus 命令不再返回 hedgingMetrics对象。

从MongoDB 8.1 开始,如果不同分区中存在相同的值,则 $fill 可以使用 linear 方法进行插值。

早期MongoDB版本会返回错误,指出排序字段不能有重复值。

有关详细信息,请参阅在不同分区中插入相同的值。

从MongoDB8.1 (和8.0.16 net.maxIncomingConnections)开始,您可以在Linux系统上使用 配置文件选项设立的最大传入连接数的值为 ( RLIMIT_NOFILE /2 ) *.0 8。如果指定较大的值, MongoDB将使用默认值。

从MongoDB 8.1 开始,尝试在不同 binData 子类型之间进行转换时,$convert 会返回错误。在MongoDB 8.0 中,$convert 返回原始值和原始子类型:不执行转换。8.0 之前的MongoDB版本没有 binData 转换。

如果您对集合使用 errorAndLog验证动作,则MongoDB无法降级,直到您删除该集合,或者将集合的验证动作更改为旧版本支持的操作。要更改对集合的验证动作,请使用 collMod 命令。

已弃用
说明

metadataRefreshInTransactionMaxWaitBehindCritSecMS

从MongoDB 8.1 开始,旧的 metadataRefreshInTransactionMaxWaitBehindCritSecMS 参数已重命名为 metadataRefreshInTransactionMaxWaitMS。您可以继续使用 metadataRefreshInTransactionMaxWaitBehindCritSecMS 作为参数名称,但它已弃用,并将在未来的MongoDB发布中删除。

有关详细信息,请参阅metadataRefreshInTransactionMaxWaitMS

后退

8.2 (稳定版本)

在此页面上