You need to enable JavaScript to run this app.
文档中心
文档数据库 MongoDB 版

文档数据库 MongoDB 版

复制全文
下载 pdf
版本介绍
MongoDB 8.0 新特性概览
复制全文
下载 pdf
MongoDB 8.0 新特性概览
本文介绍 MongoDB 8.0 版本的主要新特性。
说明
  • 当前 MongoDB 8.0 版本正在灰度发布中,如需使用,请提交工单联系技术申请使用。
分片集群增强
MongoDB 8.0 版本在分片集群管理、操作和性能等方面进行了增强:
  • 集合管理操作
  • 分片操作性能与弹性
  • Resharding 优化:优化了 reshardCollection 操作的性能,缩短了运行时间。新增 forceRedistribution 选项,用于将数据重新分发到新的分片上。更多详情,请参见对集合重新分片
  • 默认 Chunk 数量调整:对于哈希分片,每个分片默认创建的初始 Chunk 数量从 2 个减少为 1 个。
  • 查询与数据管理
  • 部分分片键查询:在执行 findAndModifydeleteOne() 命令时,查询条件中只需包含部分分片键即可(此前通常需要完整分片键)。
  • 数据校验诊断
  • 直接运行 dbHash:支持直接在各个分片上运行 dbHash 命令,便于数据校验和诊断。
性能效率提升
MongoDB 8.0 版本在数据库核心操作的性能和效率等方面进行了优化:
  • 写入性能优化
  • Majority 写确认机制变更:设置 writeConcern"majority" 时,只需大多数节点将操作写入其 Oplog 后即可返回确认,无需等待操作被应用。这显著提升了写性能,但需要注意读取从节点时可能存在的延迟。
  • 支持批量写入:新增支持 bulkWrite 批量写入命令,可在一个请求中对多个集合执行批量插入、更新和删除操作。
  • 批量插入优化:非事务性的批量多文档插入操作,在 Oplog 中会被合并为单个条目,这大幅减少了复制延迟并提升了插入性能。这些插入文档在变更流事件中拥有相同的 clusterTime
  • 内存管理优化
  • 升级版 TCMalloc:采用基于每 CPU 缓存而非每线程缓存的新版 TCMalloc 内存分配器,有效减少内存碎片化,提升高压力负载下的性能与稳定性。更多详情,请参见 TCMalloc performance optimization
  • 并发控制
  • DDL 操作并发:支持对同一数据库内的不同集合并发执行多个 DDL 操作,提升管理操作的效率。
向量搜索
MongoDB 8.0 版提供了向量搜索(Vector Search)能力,Vector Search 支持依据语义而非仅依靠关键字匹配来查询数据,有助于获取相关性更强的搜索结果。更多详情,请参见向量搜索
查询、聚合与索引优化
MongoDB 8.0 版本在如下方面提示了数据查询、处理和索引构建的能力与灵活性:
  • 聚合管道增强
  • 二进制数据转换:新增支持通过 $convert 操作符在字符串与二进制数据 (binData) 之间进行转换。新增 $toUUID 表达式,简化了字符串到 UUID 的转换语法。
  • 排序操作优化:$denseRank$rank 操作符中, sortBynull 和缺失字段的处理方式与 $sort 操作符保持一致。
  • 索引构建与查询优化
  • 索引构建错误报告:提升了索引构建过程中错误报告的速度,增强了故障容错能力。
运维与诊断
MongoDB 8.0 版本在如下方面提升了数据库的可维护性和可观测性:
  • 慢查询日志筛选:支持基于 workingMillis(操作实际执行时间)而非 durationMillis(操作总延迟)来筛选和记录慢查询日志,能更准确地反映数据库本身的性能瓶颈。更多详情,请参见 db.setProfilingLevel()
  • 压缩操作增强
  • 压缩命令参数:compact 命令新增 freeSpaceTargetMB 参数,用于指定要回收的最小空间;以及 dryRun 参数,用于试运行,即仅返回预估结果而不真正执行任何压缩。
  • 后台压缩:新增支持通过 autoCompact 命令执行后台压缩。
更多优化
  • 安全性与查询加密:执行可查询加密时,允许对加密字段使用 $lt$lte$gt$gte 操作符进行范围查询,极大增强了加密数据上的查询能力。
  • 固定集合(Capped Collections)更新:支持在 Capped Collection 上创建 TTL 索引,并支持使用读关注 "snapshot"
  • DDL 与增删分片操作互斥:在集群执行 DDL 操作(如 reshardCollection)期间,添加或删除分片的操作会被阻塞,直到 DDL 操作完成。
最近更新时间:2026.01.27 18:04:16
这个页面对您有帮助吗?
有用
有用
无用
无用