Docs 菜单
Docs 主页
/ /

MongoDB 7.0 发行说明

本页介绍了 MongoDB 7.0 中引入的更改和新功能。

MongoDB 7.0是一个主要版本,这意味着MongoDB Atlas和本地部署部署均支持该版本。 MongoDB 7.0包括MongoDB快速版本6.1 、 6.2和6.3中引入的更改。 本页介绍了这些快速发布和MongoDB 7中引入的更改。 0 。

要详细学习;了解主要版本和快速版本之间的差异,请参阅 MongoDB版本控制。

警告

过去的版本限制

以下关键公告会影响某些先前的 MongoDB 版本。如果您的部署依赖于受关键公告影响的功能,请升级到最新的可用补丁版本。

问题
受影响的版本

SERVER-94559

7.0.0 - 7.0.15

7.0.0 - 7.0.2

7.0.0 - 7.0.2

7.0.0 - 7.0.5

7.0.0 - 7.0.5

7.0.0 - 7.0.6

7.0.0 - 7.0.7

7.0.0 - 7.0.15

修复的问题:

重要

MongoDB 服务器查询规划器中的释放后使用可能会导致崩溃或未定义的行为。

说明:授权用户可能会导致缓冲区过度读取,从而导致MongoDB 服务器崩溃。在查询运行时运行DDL 操作时,可能会出现这种情况。

CVSS 分数:5.3

CWE:416 释放后使用

受影响的产品版本: MongoDB Server 8.2.0、8.0.14 至 8.0、7.0.24 至 7.0 以及更早的已结束生命周期的主要版本。

修复的问题:

修复的问题:

修复的问题:

  • SERVER-81797:对具有超时支持的原子 notify()wait() 进行我们自己的可移植实施

  • SERVER-86656:创建针对读取器优化的读写器互斥锁

  • SERVER-95324:禁用 chunkMigrationConcurrency

  • SERVER-101581:在 ASIO 中接受连接之前检查套接字状态

  • SERVER-103934:FCBIS 应该能够调用 KVEngine::cleanShutdown 而不会泄漏内存

  • 所有 Jira 问题均已在 7.0.23 中关闭

  • 7.0.23 变更日志

重要

由于 CVE-2025-10061,在 7.0.22 之前的MongoDB 7.0 中,授权用户可以通过特制的 $ 群组查询导致MongoDB Server崩溃。该漏洞与在 $ 群组操作中指定其他参数时某些累加器函数的错误处理有关。如果重复触发,此漏洞可能会导致拒绝服务。

此问题会影响以下 MongoDB Server 版本:

  • 8.1.0 - 8.1.1

  • 8.0.0 - 8.0.11

  • 7.0.0 - 7.0.21

  • 6.0.0 - 6.0.24

CVSS 分数:6.5

CWE:CWE-20 输入验证不正确

重要

格式不正确的 KMIP 响应可能会导致读取访问权限冲突

由于 CVE-2025-12657,在 7.0.22 之前的MongoDB 7.0 中,mongo 二进制文件中内置的 KMIP 响应解析器对某些格式错误的数据包容忍度过高,可能会将其解析为无效对象。稍后读取此对象可能会导致读取访问权限冲突。

此问题会影响以下 MongoDB Server 版本:

  • 8.0.0 - 8.0.9

  • 7.0.0 - 7.0.21

CVSS 分数:5.9

CWE:CWE-754 :对异常或异常情况的不当检查

修复的问题:

修复的问题:

重要

修复了对不完整数据的错误处理可能会阻止mongos接受新连接的问题

由于 CVE-2025-6714,在 7.0.20 之前的MongoDB 7.0 中,由于对不完整数据的错误处理, MongoDB Server 的 mongos 组件可能会对新连接无响应。此问题会影响分片的MongoDB集群,这些集群配置了对在指定端口上使用 HAProxymongos 的负载负载均衡器支持。

此问题会影响以下 MongoDB Server 版本:

  • 8.0.0 - 8.0.8

  • 7.0.0 - 7.0.19

  • 6.0.0 - 6.0.22

CVSS 分数:7.5

CWE:CWE-834 过度迭代和 CWE-400 不受控制的资源消耗

修复的问题:

重要

由于 $mergeCursors 阶段, MongoDB Server可能容易受到权限的影响

由于 CVE-2025-6713,在 7.0.19 之前的MongoDB 7.0 中,由于对 $mergeCursors 阶段的处理不当,未经授权的用户可能会在未经适当授权的情况下利用特制的聚合管道访问权限数据。 MongoDB Server。这可能会导致在未经进一步授权的情况下访问权限数据。

此问题会影响以下 MongoDB Server 版本:

  • 8.0.0 - 8.0.6

  • 7.0.0 - 7.0.18

  • 6.0.0 - 6.0.21

CVSS 分数:7.7

CWE:CWE-285:授权不当

修复的问题:

  • SERVER-106752 MongoDB Server可能容易因 $mergeCursors 阶段而受到权限的影响

修复的问题:

重要

MongoDB Server 的 OIDC 身份验证中的预身份验证拒绝服务漏洞

由于 CVE-2025-6709,在 7.0.17 之前的MongoDB 7.0 中,由于使用 OIDC身份验证时对JSON输入中的特定日期值处理不当, MongoDB Server容易受到拒绝服务漏洞的影响。可以使用Mongo Shell重现此问题,发送恶意JSON有效负载,从而导致不变量故障和服务器崩溃。

此问题会影响以下 MongoDB Server 版本:

  • 8.0.0 - 8.0.4

  • 7.0.0 - 7.0.16

同样的问题也会影响MongoDB Server v6.0,但攻击者只能在进行身份验证后引发拒绝服务。此问题会影响以下MongoDB Server版本:

  • 6.0.0 - 6.0.20

CVSS 分数:7.5

CWE:CWE-20:输入验证不正确

重要

通过MongoDB中的过度递归导致JSON解析中的预身份验证拒绝服务Stack Overflow漏洞

由于 CVE-2025-6710,在 7.0.17 之前的MongoDB 7.0 中,由于JSON解析机制, MongoDB Server可能容易受到Stack Overflow 的影响,其中特制的JSON输入可能会引发不必要的递归级别,从而导致堆栈空间消耗过多。 此类输入可能会导致Stack Overflow,从而导致服务器崩溃,而这可能会在预授权时发生。

此问题会影响以下 MongoDB Server 版本:

  • 8.0.0 - 8.0.4

  • 7.0.0 - 7.0.16

同样的问题也会影响MongoDB Server v6.0,但攻击者只能在进行身份验证后引发拒绝服务。此问题会影响以下MongoDB Server版本:

  • 6.0.0 - 6.0.20

CVSS 分数:7.5

CWE:CWE-674:不受控制的递归

修复的问题:

修复的问题:

重要

对空字节的不正确中和可能会导致MongoDB Server中的缓冲区过度读取

在 7.0.15 之前的MongoDB 7.0 中,授权用户可能会发出经特殊设计的请求,在MongoDB Server中构造格式不正确的BSON ,从而触发崩溃或接收服务器内存缓冲区过度读取的内容。

此问题会影响MongoDB Server版本:

  • 5.0.0 - 5.0.29

  • 6.0.0 - 6.0.18

  • 7.0.0 - 7.0.14

  • 8.0.0 - 8.0.2

修复的问题:

重要

修复了 CSFLE 和 Queryable Encryption 自查找可能会将子管道中的值作为明文而不是密文发送的问题

由于 CVE-2024-8013,在 7.0.12 之前的MongoDB 7.0 中,某些复杂自引用 $lookup 子管道的查询分析中的错误可能会导致加密的表达式中的字面值发送到服务器的格式错误。

如果发生这种情况,则不会返回或写入任何文档。此问题影响以下 MongoDB Server 版本中的 mongocryptd 二进制文件和 mongo_crypt_v1 共享库:

  • 7.3.0 - 7.3.3

  • 7.0.0 - 7.0.11

  • 6.0.0 - 6.0.16

  • 5.0.0 - 5.0.28

CVSS 分数:2.2

CWE:CWE-319:敏感信息的明文传输

修复的问题:

修复的问题:

修复的问题:

修复的问题:

修复的问题:

重要

修复 MongoDB Server 可能允许成功的不可信连接的问题

由于 CVE- 2024 - 1351 ,在7.0.6之前的 MongoDB 7.0中, 在--tlsCAFileCAFile的某些配置下,MongoDB Server 可能会跳过对等证书验证,这可能导致不可信连接成功。

这可能会有效降低 TLS 提供的安全保证,并打开由于证书验证失败而应关闭的连接。此问题会影响以下 MongoDB Server 版本:

  • 7.0.0 - 7.0.5

  • 6.0.0 - 6.0.13

  • 5.0.0 - 5.0.24

  • 4.4.0 - 4.4.28

CVSS 分数:8.8

CWE:CWE-295:证书验证不正确

修复的问题:

修复的问题:

修复的问题:

修复的问题:

修复的问题:

修复的问题:

本页的其余部分将描述 MongoDB 7.0 中引入的更改和新功能。

从 MongoDB 7.0 开始,您可以使用 mongosh 方法和数据库命令管理 Atlas Search 索引。Atlas Search 索引命令仅适用于托管在 MongoDB Atlas 上的部署,并且要求 Atlas 集群层级至少为 M10。

要管理 Atlas Search 索引,请使用以下命令:

名称
说明

在指定集合上创建 Atlas Search 索引。

删除现有 Atlas Search 索引。

返回指定集合上现有 Atlas Search 索引的信息。

更新现有 Atlas Search 索引。

名称
说明

在指定的集合上创建一个或多个 Atlas Search 索引。

删除现有 Atlas Search 索引。

更新现有 Atlas Search 索引。

名称
说明

列出所有集合或特定集合的抽样查询。

返回指定集合上现有 Atlas Search 索引的信息。

从 MongoDB 7.0 开始,慢查询的日志消息包括一个新的缓存刷新时间字段

从版本 7.0 开始,MongoDB 使用默认算法动态调整并发存储引擎事务的最大数量(包括读写票证),以优化过载期间的数据库吞吐量。

下表总结了如何识别 MongoDB 7.0 及之前版本的过载情况:

版本
诊断过载情况

7.0

持续较长时间的大量排队操作很可能表示过载。

0 的并发存储引擎ACID 事务(票证)长时间可用并不表示出现过载。

6.0 及更早的版本

持续较长时间的大量排队操作很可能表示过载。

并发存储引擎事务(票证)可用性长时间为 0 可能表明出现过载。

要了解详情,请参阅:

从 MongoDB 7.0 开始,currentOp 命令和 db.currentOp() 方法都包含以下新字段:

从 MongoDB 7.0 开始,currentOp 聚合阶段包含以下新字段:

从 MongoDB 7.0 开始,您可以创建复合通配符索引。复合通配符索引具有一个通配符项以及一个或多个附加索引项。

使用复合通配符索引可支持按已知模式进行查询,并限制集合中索引的总数。

从MongoDB 7.0 开始,如果磁盘空间运行, MongoDB会导致溢出到磁盘的查询失败。

从 MongoDB 7.0 开始,如果您的变更流事件大于 16 MB,则可以使用新的 $changeStreamSplitLargeEvent 阶段将事件拆分为较小的片段。

引入了以下新指标来报告有关大型变更流事件的信息:

serverStatus 在其输出中包含以下新字段:

计划缓存指标
queryAnalyzer 指标

从 MongoDB 7.0 开始,基于槽的查询执行引擎提升了性能,可实现更广泛的查找和聚合查询范围。

慢查询日志消息现在包含一个 queryFramework 字段,用于指示哪个查询引擎完成了该查询:

  • queryFramework: "classic" 表示该查询由经典引擎完成。

  • queryFramework: "sbe" 表示该查询由基于槽的查询执行引擎完成。

从 MongoDB 7.0 开始,您可以使用新的 USER_ROLES 系统变量来返回当前用户的角色

有关包含 USER_ROLES 的使用案例,请参阅查找聚合视图updateOneupdateManyfindAndModify 示例。

从 MongoDB 7.0(以及 6.3.2、6.0.6 和 5.0.18 版本)开始可用。

MongoDB 包含以下用于数据块迁移的新分片统计信息:

慢查询日志消息中的 totalOplogSlotDurationMicros 显示了写操作获取提交时间戳以提交存储引擎写入内容与实际提交之间的时间。mongod 支持并行写入。但是,它可按任意顺序提交附带提交时间戳的写入操作。

要了解详情,请参阅记录慢速操作。

MongoDB 7.0 新增了以下与 analyzeShardKey 命令相关的参数:

MongoDB 7.0 新增了 autoMergerIntervalSecs 参数,在启用 AutoMerger 后,该参数将用来指定自动合并轮次之间的时间间隔(以秒为单位)。autoMergerIntervalSecs 只能在分片集群的配置服务器上设置。

MongoDB 7.0 新增了 autoMergerThrottlingMS 参数,在启用 AutoMerger 后,该参数用来指定 AutoMerger 在同一集合上发起合并操作的最小时间间隔(以毫秒为单位)。autoMergerThrottlingMS 只能在分片集群的配置服务器上设置。

MongoDB 7.0 新增了 balancerMigrationsThrottlingMs 参数,可限制平衡速率。

MongoDB 7.0 新增了 enableDetailedConnectionHealthMetricLogLines 参数,该参数允许您指定是否在日志中显示一组与集群连接运行状况指标相关的日志消息

MongoDB 7.0 新增了oidcIdentityProviders 参数,允许您在使用 OpenID Connect 身份验证时指定身份提供商 (IDP) 的配置。

MongoDB 7.0 新增了以下与 configureQueryAnalysis 命令相关的参数:

从 MongoDB 7.0 开始,带等值查询的 Queryable Encryption 正式发布。Queryable Encryption 在正式发布版中进行了改进,因而与其公开预览版不兼容,因此在该功能正式发布后不应使用公开预览版。如需详细信息,请参阅 MongoDB 7.0 中的兼容性更改。

MongoDB 7.0(和 6.0.6)新增了 useLegacyProtocol 设置。这样 MongoDB 服务器可连接到使用 KMIP 协议版本 1.0 或 1.1 的 KMIP 服务器。

从 MongoDB 7.0 和 6.0.7 开始,MongoDB 支持在以下操作系统上使用 OpenSSL 3.0 和 OpenSSL FIPS 提供程序:

  • Red Hat Enterprise Linux 9

  • Amazon Linux 2023

  • Ubuntu Linux 22.04

有关详情,请参阅 TLS/SSL(传输加密)。

从 7.0 版本开始,MongoDB Enterprise 支持 OpenID Connect 身份验证。OpenID Connect 是构建在 OAuth2 之上的身份验证层。您可以使用 OpenID Connect 配置 MongoDB 数据库和第三方身份提供商之间的单点登录。

新操作符:

名称
说明

返回中位数(第 50 百分位数)的近似标量值。

此操作符可用作累加器和聚合表达式。

返回与指定的各百分位数一一对应的标量值数组。

此操作符可用作累加器和聚合表达式。

MongoDB 7.0 新增了以下格式说明符,可结合 $dateToString 操作符使用:

说明符
说明
Possible Values

%b

缩写月份名称(3 个字母)

jan-dec

%B

完整月份名称

january-december

针对以下基于 delete 命令的操作,MongoDB 7.0 取消了大部分先前版本设置的时间序列限制

从 MongoDB 7.0 开始,可使用 checkMetadataConsistency 命令检查集群、数据库和集合级别的分片元数据是否存在不一致。这些不一致可能源于以下情况:

  • 在集群运行先前 MongoDB 版本遇到错误的情况下进行的升级

  • 手动干预导致集群目录损坏

现在可通过 mongosh 使用以下辅助方法:

有关该命令检查不一致的更多信息,请参阅不一致类型。

从 MongoDB 7.0 开始,mergeAllChunksOnShard 命令查找并合并分片在给定集合所拥有的所有可合并的数据块

从 MongoDB 7.0 开始,AutoMerger 可以自动合并满足可合并性要求的数据段。AutoMerger 默认启用。

从 MongoDB 7.0 开始,可以使用以下方法来控制 AutoMerger 行为:

从 MongoDB 7.0 开始,configureCollectionBalancing 命令接受 enableAutoMerger 参数。使用 enableAutoMerger 设置 AutoMerger 是否考虑此集合。

MongoDB 7.0 移除了 operationsBlockedByRefresh 文档,该文档包含有关被目录缓存刷新活动阻塞的操作的统计信息,因为对于 mongos 上每个利用集合路由信息的操作,即使该操作没有被目录刷新活动阻塞,operationsBlockedByRefresh 计数器的计数也会增加。

MongoDB 7.0 新增了 analyzeShardKey 命令和 db.collection.analyzeShardKey() 方法,让您可以计算评估分片键的指标。

MongoDB 7.0 新增了 configureQueryAnalyzer 命令,该命令允许为集合配置查询采样。MongoDB 7.0 还新增了 db.collection.configureQueryAnalyzer(),其中封装了 configureQueryAnalyzer 命令。被采样的查询将向 analyzeShardKey 提供信息,以计算有关分片键的读写分布的指标。

MongoDB 7.0 不再支持 PPC64LEs390x 架构上的 RHEL 7/CentOS 7/Oracle 7

MongoDB 6.3 引入了以下聚合操作符:

Operator
说明

返回对 intlong 值的数组执行按位 and 操作的结果。

返回对单个参数或包含单个 intlong 值的数组执行按位 not 操作的结果。

返回对 intlong 值的数组执行按位 or 操作的结果。

返回对 intlong 值的数组执行按位 xor(排他或)操作的结果。

从 MongoDB 6.3 开始,如果某个操作在获取服务器连接和写入字节以通过网络发送到服务器之间的等待时间超过 1 毫秒,则日志中会添加一条消息。 有关详细信息,请参阅获取连接以传输日志消息。

从 MongoDB 6.3 开始, connPoolStats命令的输出进行了以下更改:

文档
字段

时间范围以及每个范围内的连接请求数量。 所有时间范围内的连接请求总数。

从 MongoDB 6.3 开始, 阶段的explain $group输出包括有关使用经典执行引擎时溢出数据的新指标:

  • spillFileSizeBytes,在$group阶段写入磁盘的溢出文件的大小

  • numBytesSpilledEstimate,压缩前在$group阶段写入磁盘的字节估计值

有关详细信息,请参阅$sort$group阶段。

从 MongoDB 6.3 开始, serverStatus命令和db.serverStatus()方法的输出发生以下更改:

从 MongoDB 6.3 开始,如果发送操作响应的时间超过slowms 阈值选项,则会在日志中添加一条消息。 有关详细信息,请参阅会话工作流日志消息。

从 MongoDB 6.3 开始,添加了以下服务器参数:

MongoDB 6.3 添加了以下time-series 参数:

  • bucketMaxSpanSeconds 设置存储桶中测量之间的最大时间跨度。

  • bucketRoundingSeconds 设置确定新存储桶的起始时间戳的时间间隔。

从 MongoDB 6.3 开始, compact命令可处理时间序列集合。

从 MongoDB 6.2 开始, validate命令和db.collection.validate()方法:

  • 检查集合,确保 BSON 文档符合 BSON 规范。

  • 检查时间序列集合的内部数据是否不一致。

  • 有一个支持全面的 BSON 检查的新选项 checkBSONConformance

从 MongoDB 6.2 开始,以下数据库命令已弃用:

请改用$collStats$currentOp聚合阶段。

从 MongoDB 6.2 开始, serverStatus命令输出包含以下新字段:

从 MongoDB 6.2 开始,serverStatus 命令和db.serverStatus() 方法报告opLatencies 实例的mongos 指标。mongos报告的延迟包括操作延迟时间以及mongodmongos实例之间的通信时间。

从 MongoDB 6.2 开始, mongod添加了以下参数:

从 6.2 版开始,MongoDB 删除了 addShard 命令中的 maxSize 字段。因此:

  • 使用 maxSize 字段运行 addShard 会返回 InvalidOptions 错误。

  • shards 集合中的新文件不再包含 maxSize 字段。

  • 任何预先存在的 maxSize 字段条目都将被忽略。

从MongoDB6.1 开始,聚合阶段$addFields$set 允许您设立空对象的路径,而无需使用$literal 表达式。

MongoDB 6.1 添加了以下集群Atlas 审核事件:

从MongoDB6.1 开始,初创企业Atlas 审核事件具有以下结构:

{
originalClusterServerParameter: <original parameter value>,
updatedClusterServerParameter": <new parameter value>
}

有关更多详细信息,请参阅审核事件操作、详细信息和结果。

从 MongoDB 6.1 开始,分片集群中的数据根据数据大小而不是数据段数量进行分布。 因此,您应该注意分片集群数据分布行为的以下重大变化:

  • 负载均衡器分配数据范围而不是数据段。均衡策略着眼于数据分布的均匀性,而不是数据块分布。

  • 数据块不受自动拆分的影响。相反,只有在跨分片移动时,才会分割数据块。

  • 数据块现在称为范围。

  • moveRange 已替换 moveChunk

从 MongoDB 6.1 开始,日志始终处于启用状态。因此,MongoDB 会删除 storage.journal.enabled 选项以及相应的 --journal--nojournal 命令行选项。

从MongoDB6.1 开始,currentOp 命令和db.currentOp() 方法扩展了重新分片的输出。

重新分片操作可以涉及多个MongoDB实例,并且MongoDB实例可以在重新分片操作中扮演不同的角色。托管实例在重新分片进程中所扮演的特定操作和角色决定了每个指标的更新时间。

衡量标准
跟踪的角色
说明

opStatus

已删除。

desc

所有

描述所采取的动作。该值为以下之一:

  • ReshardingDonorService<operationUUID>

  • ReshardingRecipientService<operationUUID>

  • ReshardingCoordinatorService<operationUUID>

对于 $currentOp,命令 UUID 会添加到每个角色的状态文档中。

op

所有

该指标有一个常量值:“command”。

ns

所有

重新索引的命名空间空间。该值为 <database>.<collection> 形式的字符串。

originatingCommand

所有

列出操作的命令选项的文档。

donorState

捐助

角色状态机的当前状态。

coordinatorState

协调员

角色状态机的当前状态。

recipientState

收件人

角色状态机的当前状态。

ApproxDocumentsToCopy

收件人

源集合中的文档数量。

documentsCopied

收件人

已复制的文档数量。

ApproxBytesToCopy

收件人

源集合中文档的总大小(以字节为单位)。

bytesCopied

收件人

复制的字节数。重新分片完成后,该值类似于 approxBytesToCopy 的值。

oplogEntriesFetched

收件人

写入oplog缓冲区集合的oplog条目数。

oplogEntriesApplied

收件人

从oplog缓冲区集合应用的oplog条目数。

insertsApplied

收件人

应用于临时重新分片集合的插入数量。每个涉及插入的 oplog 条目都会将计数器递增 1。

updatesApplied

收件人

应用于临时重新分片集合的更新次数。每个涉及更新的oplog条目都会将计数器递增 1。

deletesApplied

收件人

应用于临时重新分片集合的删除次数。每个涉及删除的 oplog 条目都会使计数器增加 1。

totalOperationTimeE过去秒

所有

自操作开始以来的秒数。

totalCopyTimeElapsedSecs

收件人

克隆所花费的秒数。

totalCopyTimeElapsedSecs

协调员

接收者可用于克隆的最大秒数。

totalApplyTimeElapsedSecs

收件人

应用更改所花费的秒数。

totalApplyTimeElapsedSecs

协调员

接收者应用更改可能花费的大致最大秒数。

totalCriticalSectionTimeElapsedSecs

收件人

在关键部分花费的秒数。

totalCriticalSectionTimeElapsedSecs

协调员

关键部分可以保留的秒数。

剩余操作时间估计秒数

收件人

操作完成之前的估计秒数。

allShardsLowestRemainingOperationTimeEstimatedSecs

协调员

在所有分片上计算的剩余秒数的最低估值。

allShardsHighestRemainingOperationTimeEstimatedSecs

协调员

在所有分片上计算的剩余描述的最高估值。

countWritesToStashCollections

收件人

写入接收储藏集合的次数。

countWritesDuringCriticalSection

捐助

在捐赠者的关键部分期间尝试写入的次数。

countReadsDuringCriticalSection

捐助

在发送分片的关键部分尝试读取的次数。

从 MongoDB 6.1 开始:

  • 为了提高效率,MongoDB 可能会批量删除多个文档。

  • explain 命令结果包含用于批量文档删除的新 BATCHED_DELETE 阶段。

Perl 兼容正则表达式 ( PCRE ) 是 MongoDB 用于实现正则表达式模式匹配的库。 从版本 6.1 开始,MongoDB 将PCRE库升级到 PCRE2。 PCRE2 是当前的PCRE库,并会积极维护和更新。

要学习;了解如何在MongoDB中执行 regex 匹配,请参阅以下页面:

从 MongoDB 6.1 开始,如果可重试写入的第一次和第二次尝试都失败而没有执行单独的写入,则 MongoDB 将返回带有NoWritesPerformed 标签的错误。

NoWritesPerformed 标签区分 insertMany() 等批量操作的结果。在insertMany 操作中,可能会出现以下结果:

结果:
MongoDB 输出

未插入任何文档。

返回错误但不带 NoWritesPerformed 标签。

部分工作已完成。(至少插入一个文档,但不是全部。)

返回错误但不带 NoWritesPerformed 标签。

所有文档均已插入。

成功返回。

应用程序可以使用 NoWritesPerformed 标签来明确确定没有插入任何文档。。此错误报告使应用程序可以在处理可重试写入时保持数据库的准确状态

在 MongoDB 的早期版本中,当第一次和第二次可重试写入操作失败时,将会返回错误。但是,指明未执行任何写入操作时没有区别。

从MongoDB6.1 开始,提供了可重新分片的新指标。以下命令的输出已更改:

从MongoDB 6.1 开始, MongoDB添加了以下新参数:

从MongoDB 6.1开始, serverStatus命令和db.serverStatus()方法具有以下输出更改:

resharding.remainingOperationTimeEstimatedMillis 替换为:

  • oplogApplierApplyBatchLatencyMillis

  • collClonerFillBatchForInsertLatencyMillis

在极少数情况下,写入可能会由于缓存压力而失败。发生这种情况时,MongoDB 会抛出 TemporarilyUnavailable 错误并在两个位置增加 temporarilyUnavailableErrors 计数器:慢查询日志和全时诊断数据捕获 (FTDC)。

多文档事务中的单个操作绝不会返回 TemporarilyUnavailable 错误。

通过修改temporarilyUnavailableBackoffBaseMstemporarilyUnavailableMaxRetries 参数来调整写入重试属性。

从MongoDB 6.1 开始,可以使用 *UCP 选项进行正则表达式查询。 *UCP 选项匹配非 ASCII 字符(具体来说,该选项可以匹配 UTF-8 字符)。但是,与未指定 *UCP 选项的查询相比,指定 选项会导致查询变慢。

有关使用*UCP 选项的示例,请参阅扩展 Regex 选项以匹配 ASCII 之外的字符。

重要

特征兼容性版本

要从 MongoDB 6.0 部署升级到 MongoDB 7.0,6.0 部署必须将 featureCompatibilityVersion 设置为 6.0。若要检查版本,您可以:

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

要升级到 MongoDB 7.0,请参阅针对 您 MongoDB 部署类型的升级说明:

如您在升级到 7.0 版本的过程中需要指导,MongoDB 的专业服务将提供主要版本的升级支持,帮助确保您的 MongoDB 应用程序能够顺利过渡,不会中断。要了解更多信息,请参阅 MongoDB 咨询服务

MongoDB 仅支持单版本降级。您无法降级到比当前版本落后多个版本的版本。

例如,您可以将 7.0 系列部署降级为 6.0 系列部署。但是,不支持将 6.0 系列部署进一步降级为 5.0 系列部署。

从 MongoDB 7.0 开始:

  • MongoDB Community Edition 不再支持二进制降级。

  • 您无法将部署的 fCV 降级到 MongoDB 的快速发布版或从快速发布版降级。

  • setFeatureCompatibilityVersion 命令需要附加参数 confirm,必须将其设置为 true 才能升级或降级 fCV

  • 如果您升级或降级部署的 fCV,则在没有支持人员协助的情况下,您将无法降级 Enterprise 版部署的二进制版本。

MongoDB 7.0 包含不与早期版本兼容的功能。若要从 7.0 降级到早期版本,您需要删除使用这些功能的数据。

更多信息,请参阅向后不兼容的功能。

要下载 MongoDB 7.0,请访问 MongoDB 下载中心

要报告问题,请参阅 MongoDB GitHub 存储库,了解有关如何为 MongoDB 服务器或其中一个相关项目提交 JIRA 工单的说明。

后退

变更日志

在此页面上