MongoDB 5.2的发布说明
重要:
MongoDB 5.2是一个快速版本,仅支持MongoDB Atlas。MongoDB5.2不支持在本地使用。有关更多信息,请参阅MongoDB版本控制。
MongoDB 5.2 发布于 2022 年 1 月 19 日
集合
新的聚合运算符
MongoDB 5.2引入了以下聚合运算符:
运算符号 | 描述 |
---|---|
$bottom |
根据指定的排序顺序返回组中的底部元素。 |
$bottomN |
根据指定的排序顺序返回组中底部n 元素的聚合。 |
$firstN |
返回组中前n 元素的聚合。不同于$firstN 数组运算符。 |
$firstN (array operator) |
从数组开始返回指定数量的元素。不同于$firstN 累加器。 |
$lastN |
返回组中最后n 元素的聚合。不同于$lastN 数组运算符。 |
$lastN (array operator) |
从数组末尾返回指定数量的元素。不同于$lastN 蓄能器。 |
$locf |
最后的观察继续进行。将窗口中空null 和缺失字段的值设置为字段的最后一个非空值。 |
$maxN |
返回组中n 最大值元素的聚合。与$maxN 数组运算符区分开来。 |
$maxN (array operator) |
返回数组中的n 个最大值。不同于$maxN 累加器。 |
$minN |
返回组中n 最小值元素的聚合。与$minN 数组运算符区分开来。 |
$minN (array operator) |
返回数组中的n 个最小值。不同于$minN 累加器。 |
$top |
根据指定的排序顺序返回组中的顶部元素。与命令top 区分开来。 |
$topN |
根据指定的排序顺序返回组中顶部n 元素的聚合。 |
$sortArray |
根据数组的元素对数组进行排序。 |
一般汇总改进
$filter
操作员limit
字段
从MongoDB 5.2开始,$filter
运算符包括可选的limit
字段。limit
字段限制$filter
运算符返回的匹配数组元素的数量。
$convert
支持时间戳转换为日期
从MongoDB 5.2开始,您可以使用$convert
运算符将时间戳转换为日期。$toDate
运算符也可以转换时间戳。
提高了操作员计数器的精度
从MongoDB 5.2和5.0.6开始,aggregation operator metrics
更精确:内部处理不会膨胀计数器。
基于插槽的查询执行引擎可以执行$group
阶段
从5.2版本开始,MongoDB使用基于插槽的执行查询引擎执行$group
阶段,如果以下任一:
$group
是管道的第一阶段。- 管道中之前的所有阶段也可以由基于插槽的引擎执行。
有关详细信息,请参见$group
Optimization.。
时间序列集合
数据压缩
从MongoDB 5.2开始,时间序列集合使用列压缩。列压缩增加了许多创新,这些创新可以显著改善实际压缩,减少数据在磁盘上的整体存储,并提高读取性能。
分层管理命令
从MongoDB 5.2开始,您可以在system.buckets
集合上运行分片管理命令(如moveChunk
)。
分片
从MongoDB 5.2开始,mongos
开始的时间包含在以下内容中:
sh.status()
方法的输出(当verbose
设置为true
)config.mongos
收藏
默认块大小从64 MB增加到128 MB
从MongoDB 5.2开始,默认块大小为128兆字节。在早期版本的MongoDB中,默认块大小为64兆字节。
防止在分片集合上迁移setAllowMigrations
从MongoDB 5.2开始,setAllowMigrations
命令:
限制关键部分的等待时间
从MongoDB 5.2(和5.0.4,5.1.0)开始
metadataRefreshInTransactionMaxWaitBehindCritSecMS
参数限制碎片等待事务中关键部分的时间。
一般改进
为缓存的LDAP用户信息配置刷新间隔
从MongoDB 5.2开始,您可以使用以下新服务器参数为缓存的LDAP用户信息配置刷新间隔:
从MongoDB 5.2开始,从LDAP服务器检索的缓存用户信息的更新间隔取决于ldapShouldRefreshUserCacheEntries
:
- 如果为真,请使用
ldapUserCacheRefreshInterval
。 - 如果为假,请使用
ldapUserCacheInvalidationInterval
。
从用户输出中省略自定义数据
从MongoDB 5.2开始,您可以从以下响应中省略customData
:
usersInfo
数据库命令db.getUser()
方法db.getUsers()
方法
要从命令输出中省略自定义数据,请指定showCustomData: false
选项。
复本集
initialSyncMethod
参数
从MongoDB 5.2开始,initialSyncMethod
确定初始同步是逻辑初始同步还是基于文件副本的初始同步。
initialSyncMethod
仅在MongoDB企业服务器中可用。
报告问题
要报告问题,请参阅https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports关于如何为MongoDB服务器或相关项目之一提交JIRA票据的指导。