对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

MongoDB 8.2中的兼容性更改

从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.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.2 还包括MongoDB 8.1 中引入的更改。本部分介绍MongoDB 8.1 中引入的兼容性更改。

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

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

  • maxTimeMSForHedgedReads

  • opportunisticSecondaryTargeting

  • readHedgingMode

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 命令。

已弃用
说明

metadataRefreshInTransactionMaxWaitBehindCritSecMS

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

有关详细信息,请参阅metadataRefreshInTransactionMaxWaitMS。