MongoDB 5.3的发布说明
重要:
MongoDB 5.3是一个快速版本,仅支持MongoDB Atlas。MongoDB5.3不支持在本地使用。有关更多信息,请参阅MongoDB版本控制。
MongoDB 5.3于2022年4月6日发布
集合
新的聚合阶段
MongoDB 5.3引入了以下聚合阶段:
阶段 | 描述 |
---|---|
$fill |
在文档中填充null 和缺失字段值。 |
新的聚合运算符
MongoDB 5.3引入了以下聚合运算符:
运算符号 | 描述 |
---|---|
$linearFill |
使用linear interpolation基于周围的场值。 |
setWindowFields
交易和snapshot
阅读关注的阶段
从MongoDB 5.3开始,您可以使用$setWindowFields
阶段进行事务和"snapshot"
读取问题。
安全
KMIP密钥激活
从MongoDB 5.3开始,security.kmip.activateKeys
在创建时激活所有新创建的KMIP密钥,然后定期检查密钥是否处于活动状态。
有效状态密钥的轮询
分片
拆分和合并的限值率
从MongoDB 5.3开始,当碎片集合中的块被碎片化时,您可以使用新的chunkDefragmentationThrottlingMS
参数来限制平衡器运行的拆分和合并命令的速率。
监控碎片整理状态
从MongoDB 5.3开始,balancerCollectionStatus
命令在经过块碎片整理的命名空间上运行时返回详细信息。输出包括碎片整理的当前阶段以及还剩下多少块需要处理。
要查看示例输出,请参阅正在进行的碎片整理过程。
一般改进
时间序列集合改进
从MongoDB 5.3开始,您可以在时间序列集合中的任何字段上使用$geoNear
管道运算符。
集群收藏
从MongoDB 5.3开始,您可以创建具有集群索引的集合。使用集群索引创建的集合称为集群集合。
要了解与普通集合相比的好处,请参阅集群集合。
serverStatus
产出变化
从MongoDB 5.3开始,serverStatus
包括 connections.loadBalanced
,它报告通过负载均衡器接收的传入连接数量。
getParameter
可以报告何时可以设置参数
从MongoDB 5.3开始, getParameter
可以报告:
- 是否可以在启动时设置参数
- 是否可以在运行时设置参数
您可以使用getParameter
命令通过传递{ showDetails: true }
来报告参数详细信息。您可以使用getParameter
通过传递{ showDetails: true, allParameters: true }
来报告所有参数的详细信息。
explain
输出可以包括inputStage
上的磁盘使用情况字段
从MongoDB 5.3开始,explain
输出可以包括使用基于槽的执行查询引擎的GROUP explain.executionStats.executionStages.inputStage
的以下磁盘使用指标:
spilledBytesApprox
,在舞台上溢出到磁盘的内存字节的大致数量spilledRecords
,在舞台上溢出到磁盘的制作记录数量usedDisk
,舞台是否写入磁盘
有关详细信息,请参阅explain.executionStats.executionStages.inputStage
。
指定逐步上升和逐步下降操作的超时
从MongoDB 5.3开始,fassertOnLockTimeoutForStepUpDown
参数允许收到请求的服务器在超时内无法遵守时向上或向下终止。
多个仲裁员
从MongoDB 5.3开始,默认情况下禁用对副本集中多个仲裁器的支持。要启用对多个仲裁器的支持,请使用allowMultipleArbiters参数启动每个节点。
报告问题
要报告问题,请参阅https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports关于如何为MongoDB服务器或相关项目之一提交JIRA票据的指导。