You need to enable JavaScript to run this app.
导航

MongoDB 5.0 新特性概览

最近更新时间2024.01.11 22:13:36

首次发布时间2023.05.19 15:21:55

本文介绍 MongoDB 5.0 的主要新特性。

说明

关于 MongoDB 5.0 的更多特性,请参见 Release Notes for MongoDB 5.0

原生支持时序数据

MongoDB 5.0 原生支持时间序列数据,提供了时间序列集合、集群索引等能力,在提高应用程序构建和运行时间序列速度的同时,减少了数据和索引的磁盘使用量,实现更好的性能和更大的规模。扩展了 MongoDB 在物联网、金融分析、日志解析、物流等方面的应用场景。
您可以在创建集合的 db.createCollection()命令中,通过 { timeseries: { timeField: "timestamp" } } 字段来指定创建一个时间序列集合。更多详情,请参见 Create a Time Series Collection

Stable API

MongoDB 的 Stable API(也称 Versioned API)定义了应用程序读取和写入数据、创建集合和索引、以及执行其他常见任务时最常用的一组命令。Stable API 实现了应用程序生命周期和数据库生命周期的解耦,允许您指定应用程序使用指定版本的 MongoDB API ,即使数据库频繁升级或改进,应用程序也可以在不修改代码的情况下持续运行。
Stable API 支持 MongoDB 在每个 API 版本中为数据库添加新功能(如增加参数、持聚合运算符、新命令等),同时还会保证新版本 API 对早期版本 API 的兼容性,您可以将新版本 API 与现有 API 在同一台服务器上同时运行,方便您更快、更便捷地体验和使用 MongoDB 新特性。
更多详情 ,请参见 Stable API

Write Concern 默认 majority 级别

从 MongoDB 5.0 开始,Write Concern 默认级别为 majority,即仅当写入操作被应用到主节点(Primary 节点)且被持久化到大多数从节点日志中时,才会提交并返回成功,提高了数据可靠性保障。关于 Write Concern 的更多信息,请参见 Write Concern

新版 MongoDB Shell

MongoDB 5.0 启用了新版 MongoDB Shell(即 mongosh),引入了语法高亮、智能自助、上下文帮助等功能,提供了更具体的报错信息和更现代化的命令行体验。关于新版 MongoDB Shell 的更多详情,请参见 mongosh

长时间运行的快照查询

MongoDB 5.0 支持在读取数据的一致状态时,对实时事务数据库执行长时间运行的查询(Long-Running Snapshot Queries),长时间运行的快照查询增加了应用程序读取操作的多功能性和弹性。关于长时间运行的快照查询的更多信息,请参见 Query Documents

可恢复的索引创建任务

从 MongoDB 5.0 开始,若索引创建任务突然中断,该任务会被保存到磁盘,并在节点重启后自动恢复到原来的位置,无需再重新运行创建任务。更多详情,请参见 Index Builds on Populated Collections

Schema Validation 增强

模式验证(Schema Validation)是 MongoDB 数据应用管理控制的一种方式。MongoDB 5.0 优化了模式验证功能,支持通过 validate 命令发现集合中的不一致并返回描述性的错误信息,方便您了解不符合集合验证器验证规则的文档,以及不符合规则的原因,帮助您快速识别和纠正影响验证规则的错误代码。更多详情,请参见 db.collection.validate()

在线数据重新分片

MongoDB 5.0 支持在业务运行的情况下,通过 reshardCollection 命令完成集合分片键(Shard Key)的更改,方便您根据业务负载的变化,按需更改集合的分片键。整个过程无需停机停服,不涉及复杂的数据迁移操作,简单高效。reshardCollection 命令语法如下。

reshardCollection: "<database>.<collection>", key: <shardkey>

命令语法中各参数说明如下表。

参数说明
database需要重新分片的数据库名称。
collection需要重新分片的集合名称。
shardkey分片键的名称。

关于 reshardCollection 命令的更多信息,请参见 reshardCollection