MongoDB 5.0的发布说明
MongoDB 5.0 发布于 2021 年 7 月 13 日
时间序列集合
MongoDB 5.0引入了时间序列集合,可以高效地存储一段时间内的测量序列。与普通集合相比,将时间序列数据存储在时间序列集合中可以提高查询效率,并减少数据和索引的磁盘使用。
集合
新的聚合运算符
MongoDB 5.0引入了以下聚合运算符:
运算符号 | 描述 |
---|---|
$count |
$count (aggregation accumulator) 提供在现有管道$group (aggregation) 阶段和新的MongoDB 5.0$setWindowFields 阶段使用的所有文档的计数。 笔记: 消歧义$count (aggregation accumulator) 与$count (aggregation) 管道阶段不同。 |
$dateAdd |
按指定数量的时间单位增加Date() 对象。 |
$dateDiff |
返回两个日期之间的差额。 |
$dateSubtract |
将Date() 对象减少指定数量的时间单位。 |
$dateTrunc |
截断日期。 |
$getField |
从文档返回指定字段的值。您可以使用$getField 检索名称包含句号(. )或以美元符号($ )开头的字段的值。 |
$rand |
$rand 方法每次调用时都会生成0到1之间的随机浮点值。新的$sampleRate 运算符基于$rand 。(也添加到MongoDB 4.4.2) |
$sampleRate |
添加$sampleRate 方法,以可能以给定速率从管道中选择文档。 |
$setField |
添加、更新或删除文档中的指定字段。您可以使用$setField 添加、更新或删除带有句号(. )或以$符号($ )开头的名称的字段。 |
$unsetField |
删除文档中的指定字段。$setField 的别名,用于删除名称包含句号(. )或以美元符号($ )开头的字段。 |
窗口操作员
MongoDB 5.0引入了$setWindowFields
管道阶段,允许您对集合中指定的文档跨度执行操作,称为窗口。该操作根据所选窗口运算符返回结果。
例如,您可以使用$setWindowFields
阶段输出:
- 集合中两个文档之间的销售额差异。
- 销售排名。
- 累计销售总额。
- 分析复杂的时间序列信息,无需将数据导出到外部数据库。
一般汇总改进
$expr
运算符:比较运算符使用索引
从MongoDB 5.0开始,放置在$expr
运算符中的$eq
、$lt
、$lte
、$gt
和$gte
运算符可以使用索引来提高性能。
$ifNull
表达式接受多个输入表达式
从MongoDB 5.0开始,您可以在返回替换表达式之前为$ifNull
表达式指定多个输入表达式。
let
聚合选项
从MongoDB 5.0开始,aggregate
命令和db.collection.aggregate()
助手方法有一个let
选项来指定可以在聚合管道其他地方使用的变量列表。这允许您通过将变量与查询文本分开来提高命令的可读性。
$lookup
阶段:简明的相关子查询
从MongoDB 5.0开始,聚合管道$lookup
阶段支持简洁的相关子查询,以改善集合之间的连接。
$lookup
阶段:无关子查询
从MongoDB 5.0开始,对于包含$sample
阶段、$sampleRate
运算符或$rand
运算符的$lookup
管道阶段中的无关子查询,如果重复,子查询总是会再次运行。以前,根据子查询输出大小,要么缓存子查询输出,要么再次运行子查询。
审计
运行时审核过滤器配置
MongoDB 5.0增加了在运行时配置审计过滤器的功能。
运算符号 | 描述 |
---|---|
auditConfigPollingFrequencySecs |
定义用于检查审计配置的轮询间隔 |
getAuditConfig |
从mongod 和mongos 检索审计配置。 |
setAuditConfig |
在运行时为mongod 和mongos 实例设置新的审计配置。 |
一般审计更新
从MongoDB 5.0开始
- 系统事件审核有:
- 额外的uuid字段和其他审计消息增强功能。
- 新的审计消息类型:clientMetadata、directAuthMutation、注销和startup。
- 这些现有审计消息类型的附加信息和日志场景:authCheck、authate、createCollection、createIndex和dropCollection。
- 对次生的DDL运营审计有变化。请参阅审计事件和过滤器。
上限集合
上限集合删除复制到次要删除
从MongoDB 5.0开始,副本集上限集合的隐式删除操作由主集合处理并复制到辅助成员。
允许在上限集合上显式删除
从MongoDB 5.0.7开始,您可以使用删除方法从大写集合中删除文档
更改流
更改事件输出
从MongoDB 5.0开始, Change Events包含字段updateDescription.truncatedArrays来记录数组截断。
索引
部分索引行为改变
从MongoDB 5.0开始,只要部分过滤器表达式字段不表示等效过滤器,可以使用相同的键模式创建多个部分索引。
在早期版本的MongoDB中,当使用不同部分过滤器表达式的相同键模式时,不允许创建多个部分索引。
唯一稀疏索引行为更改
从MongoDB 5.0开始,单个集合中可以存在具有相同密钥模式的唯一稀疏和唯一的非稀疏索引。
查看唯一稀疏索引创建
在进行中的索引构建期间无法删除Ready
索引
如果有任何正在进行的索引构建,db.collection.dropIndexes()
命令无法删除就绪索引。
- 在MongoDB的4.4.0-4.4.4版本中,由于错误,这种逻辑不正确。
前台验证可以修复多键元数据不一致
在MongoDB部署上运行时,db.collection.validate()
试图修复独立部署的多键元数据不一致。
删除geoHaystack
索引和geoSearch
命令
MongoDB 5.0删除了已弃用的geoHaystack索引和geoSearch
命令。将a2d索引与$geoNear
或支持的地理空间查询运算符之一一起使用。
将MongoDB实例升级到5.0并将功能兼容性版本设置为5.0
将删除任何预先存在的geoHaystack索引。
新错误消息
当选项指定不正确时,db.collection.createIndex()
和db.collection.createIndexes()
操作会产生新的错误消息。
索引构建中断
如果副本集中的节点在索引构建期间被干净地关闭或回滚,索引构建进度现在将保存到磁盘。当服务器重新启动时,索引创建将从保存的位置恢复。
reIndex行为更改
从MongoDB 5.0开始, reIndex
命令和db.collection.reIndex()
shell方法只能在独立实例上运行。
删除的命令
从MongoDB 5.0开始,删除了以下数据库命令和mongo shell helper方法:
删除了命令 | 替代品 |
---|---|
db.collection.ensureIndex() |
db.collection.createIndex() |
db.resetError() |
无法使用 |
resetError |
无法使用 |
shardConnPoolStats |
connPoolStats |
unsetSharding |
无法使用 |
geoSearch |
$geoNear 或支持的地理空间查询运算符之一 |
副本集
非事务性读取配置事务
从MongoDB 5.0开始,不允许在config.transactions
集合中进行非事务读取,具有以下读取问题和选项:
hello
命令
从MongoDB 5.0(以及4.4.2、4.2.10、4.0.21和3.6.21)开始,引入了hello
命令和thedbdb.hello()
方法,以取代isMaster
命令和thedbdb.isMaster()
方法。新的拓扑度量connections.exhaustHello
在connections
中跟踪这一点。
Quiesce时期
从MongoDB 5.0开始,mongod
和mongos
进入一个安静的时期,以便在关闭之前完成任何正在进行的数据库操作。
Limit Removed for members[n]._id
Values
从MongoDB 5.0开始,enableMajorityReadConcern
和--enableMajorityReadConcern
无法更改,并且由于存储引擎的改进,始终设置为true
。
在早期版本的MongoDB中,enableMajorityReadConcern
和--enableMajorityReadConcern
是可配置的,可以设置为false
,以防止存储缓存压力使用三元主-次要仲裁器(PSA)架构固定部署。
如果您使用的是三人初级-中学仲裁员(PSA)架构,请考虑以下几点:
- 如果辅助功能不可用或滞后,写入关注
"majority"
可能会导致性能问题。有关如何缓解这些问题的建议,请参阅使用PSA副本集缓解性能问题。 - 如果您使用的是全局默认
"majority"
并且写入问题小于多数的大小,您的查询可能会返回陈旧(未完全复制)的数据。
增强的线程池超时控制
从MongoDB 5.0开始,您可以使用新的replWriterMinThreadCount
服务器参数配置线程池中空闲线程的超时,以并行执行复制操作。当replWriterMinThreadCount
的值小于replWriterThreadCount
时,replWriterMinThreadCount
上方的空闲线程将超时。
重新配置PSA复制集
在重新配置主-二级仲裁器(PSA)副本集或更改为PSA架构时,在某些情况下,现在需要在两步更改中执行重新配置。MongoDB 5.0引入了执行这两个步骤的rs.reconfigForPSASet()
方法。如果您无法使用帮助方法,请按照安全修改PSA副本集中的步骤操作。
限制同步源重新评估
maxNumSyncSourceChangesPerHour
确定在节点暂时停止重新评估同步源之前,每小时可以发生多少个同步源更改。如果节点没有同步源,此参数不会阻止节点开始从另一个节点同步。
enableOverrideClusterChainingSetting
服务器参数
从MongoDB 5.0.2(以及4.2.16和4.4.8)开始,您可以将newenableOverrideClusterChainingSetting
服务器参数设置为true
,以允许辅助成员从其他辅助成员复制数据,即使settings.chainingAllowed
是false
。
安全
支持在线证书轮换
从MongoDB 5.0开始,您现在可以按需旋转以下TLS证书,而无需首先停止运行mongod
或mongos
实例:
TLS Certificates
CRL (Certificate Revocation List) files
(在Linux和Windows平台上)CA (Certificate Authority) files
要轮换这些证书,请用更新的版本替换文件系统上的证书文件,然后使用 rotateCertificates
命令或db.rotateCertificates()
shell方法触发证书轮换。
以这种方式更换证书不需要停机,也不会掉落任何活跃的远程连接。
有关详细信息,请参阅在线证书轮换。
支持配置TLS 1.3密码套件
MongoDB 5.0引入了opensslCipherSuiteConfig
参数,以启用OpenSSL在使用TLS 1.3加密时应允许的受支持密码套件的配置。
TLS连接X509证书启动警告
从MongoDB 5.0开始,当mongod
和mongos
证书不包含主题替代名称属性时,它们会发出启动警告。
以下平台不支持通用名称验证:
- iOS 13及更高版本
- MacOS 10.15及更高版本
- 去1.15及更高
使用这些平台的客户端不会对使用主机名由CommonName属性指定的x.509证书的MongoDB服务器进行身份验证。
ApplyOps特权操作
MongoDB 5.0引入了由dbAdminAnyDatabase
继承的applyOps
特权操作。
applyOps
操作允许用户运行applyOps
数据库命令。
分片集群
重新分片
理想的分片密钥允许MongoDB在整个集群中均匀分发文档,同时促进常见的查询模式。由于数据分布不均匀,次优的碎片键可能会导致性能或扩展问题。从MongoDB 5.0开始,您可以使用thereshardCollection命令更改集合的分片键,以更改数据在集群中的分布。
currentOp
报告正在进行的分片操作
从MongoDB 5.0开始, $currentOp
聚合阶段(以及currentOp
命令和 db.currentOp()
shell方法)包含了关于正在进行的重新分片操作的状态的附加信息,这些重新分片操作针对重新分片协调器以及提供者和接收者分片。
db.currentOp
方法现在使用聚合阶段mongosh
从MongoDB 5.0开始,在运行助手方法db.currentOp()
时使用$currentOp
聚合阶段mongosh
。
mongos
/ mongod
连接池
从MongoDB 5.0开始(也从4.4.4.5和4.2.13开始可用),MongoDB添加了参数选项"automatic"
作为ShardingTaskExecutorPoolReplicaSetMatching
的新默认值。当设置为mongos
时,实例遵循为"matchPrimaryNode"
选项指定的行为。当设置为mongod
时,实例遵循为"disabled"
选项指定的行为。
renameCollection
与分片系列兼容
从MongoDB 5.0开始,您可以使用renameCollection
命令更改分片集合的名称。
在分片集群中重命名分片或未分片集合时,源集合和目标集合仅锁定在每个碎片上。对源集合和目标集合的后续操作必须等到重命名操作完成。
movePrimary
操作期间写入的错误消息
从MongoDB 5.0开始,当使用movePrimary
命令从碎片集群中删除碎片时,写入原始碎片将生成错误消息。
拆分和合并块更改日志显示拥有碎片
从MongoDB 5.0开始,config.changelog
集合中的文档技术球和合并操作包含一个owningShard
字段。owningShard
字段显示拥有拆分或合并块的碎片shardId
。
owningShard
字段有助于识别经常发生拆分或合并操作的碎片。
maxCatchUpPercentageBeforeBlockingWrites
服务器参数
从MongoDB 5.0(和4.4.7、4.2.15、4.0.26)开始,您可以设置maxCatchUpPercentageBeforeBlockingWrites
,以指定与传输块的总大小(以MB为单位)相比,在moveChunk
操作期间尚未迁移的数据的最大允许百分比。
此参数可能会影响以下行为:
shell变化
新MongoDB shell:mongosh
Mongo shell在MongoDB v5.0中已被弃用。替换的shell是 mongosh
。遗留的mongo shell将在将来的版本中被删除。
MongoDB v5.0中的shell包装也发生了变化。有关详细信息,请参
安装说明。
对GCP和Azure KMS提供商的shell支持
从MongoDB 5.0(和MongoDB 4.4.5)开始,Google云平台KMS和Azure Key Vault在mongosh
和遗留mongo shell中都作为客户端字段级加密的密钥管理服务(KMS)提供程序受到支持。
使用KMS,您可以集中安全地存储客户主密钥(CMK),这些密钥用于加密和解密数据加密密钥,作为客户端字段级加密工作流程的一部分。
此外,配置的KMS允许在与MongoDB Enterprise一起使用时使用CSFLE如何解密数据字段的文档。
要了解更多信息,请参阅使用mongosh配置KMS提供商。
快照
对阅读关注的扩展支持"snapshot"
从MongoDB 5.0开始,在初次要和次要的多文档事务之外,一些读取关注"snapshot"
支持读取。
minSnapshotHistoryWindowInSeconds
服务器参数
从MongoDB 5.0开始,您可以使用minSnapshotHistoryWindowInSeconds
参数来控制WiredTiger保存快照历史记录的时间。
Transactions
coordinateCommitReturnImmediatelyAfterPersistingDecision
参数
当事务提交决策返回给客户端时,服务器参数 coordinateCommitReturnImmediatelyAfterPersistingDecision
。
该参数在MongDB 5.0中引入,默认值为true
。在MongoDB 6.1中,默认值更改为false
。
当coordinateCommitReturnImmediatelyAfterPersistingDecision
为false
时,shard事务协调器将等待所有成员确认多文档事务提交,然后再将提交决定返回给客户端。
命名更改
从2022年2月开始,“版本API”术语改为“稳定API”。随着命名的更改,所有概念和功能都保持不变。
一般改进
$lookup
管道阶段查询的执行计划统计信息
MongoDB 5.0为使用$lookup
管道阶段的查询添加了执行计划统计信息。
改进了字段名称中($
)和(.
)的处理
MongoDB 5.0增加了对($
)前缀或包含(.
)字符的字段名的改进支持。存储数据的验证规则已经更新,以便更轻松地使用使用这些字符的数据源。
集群宽默认写入问题
从MongoDB 5.0开始,一旦通过setDefaultRWConcern命令设置集群宽写入关注(CWWC),就无法取消设置写入关注。
隐式默认写入关注
从MongoDB 5.0开始,隐式默认写入问题是w: majority
。然而,对于包含仲裁员的部署,会特别考虑:
- 复制集的投票多数是投票成员人数的1加一半,四舍五入。如果计数据的投票成员数量不超过投票多数,则默认写入关注点为
{ w: 1 }
。 - 在所有其他场景中,默认写入关注是
{ w: "majority" }
。
具体来说,MongoDB使用以下公式来确定默认写入问题:
if [ (#arbiters > 0) AND (#non-arbiters <= majority(#voting-nodes)) ]
defaultWriteConcern = { w: 1 }
else
defaultWriteConcern = { w: "majority" }
例如,考虑以下部署及其各自的默认写入问题:
非仲裁者 | 仲裁员 | 投票节点 | 大多数投票节点 | 隐式默认写入关注 |
---|---|---|---|---|
2 | 1 | 3 | 2 | { w: 1 } |
4 | 1 | 5 | 3 | { w: "majority" } |
- 在第一个示例中:
- 共有3个投票节点有2个非仲裁员和1个仲裁员。
- 大多数投票节点(1个加上3个的一半,四舍五入)是2个。
- 非仲裁者(2)的数量等于大多数投票节点(2),导致
{ w: 1 }
的隐式写入问题。
- 在第二个示例中:
- 共有4个非仲裁员和1个仲裁员,共5个投票节点。
- 大多数投票节点(1加5个中的一半)是3个。
- 非仲裁者的数量(4)大于大多数投票节点(3),导致
{ w: "majority" }
的隐写入问题。
{ w: "majority" }
默认写入问题在选举或副本集成员不可用时提供了更强的耐用性保证。
{ w: "majority" }
写入问题可能会影响性能,因为只有在计算出的大多数副本集成员执行并坚持写入磁盘时,才会确认写入。如果您的应用程序依赖于性能敏感的写入,您可以使用setDefaultRWConcern
命令显式设置默认写入问题,以提高性能,而牺牲数据耐用性保证。您还可以在单个操作级别为性能关键型写入设置写入问题。看看你的驱动程序文档详细了解。
mongosShutdownTimeoutMillisForSignaledShutdown
参数
从MongoDB 5.0开始,新参数mongosShutdownTimeoutMillisForSignaledShutdown
指定了在启动关闭mongos
之前等待任何正在进行的数据库操作完成的时间(以毫秒为单位)。
可配置的zstd
压缩电平
MongoDB 5.0引入了zstdCompressionLevel
配置文件选项,该选项允许在blockCompressor
设置为zstd
时进行可配置的压缩级别。
无锁读取操作
从MongoDB 5.0开始,当另一个操作在集合上保持独家(X)写入锁时,以下读取操作不会被阻止:
写入集合时,mapReduce
和aggregate
持有意图排他性(IX)锁。因此,如果集合上已经持有独家X锁,则mapReduce
和aggregate
写入操作将被阻止。
解释模式验证失败
当文档未能通过模式验证时,MongoDB 5.0添加了详细的解释。
validate
命令中的修复选项
从MongoDB 5.0开始,validate
命令和db.collection.validate()
帮助方法具有新的修复选项,用于修复具有不一致的集合。
validate
命令和db.collection.validate()
帮助方法还返回一个新的repaired
布尔值,如果集合得到修复,则为true
。
validate
命令报告文档违反模式
从MongoDB 5.0开始,validate
和db.collection.validate()
验证集合中的文档。如果违反任何模式验证规则,命令会报告。
维修选项mongod
从MongoDB 5.0开始,mongod
的--repair
选项会验证集合,以发现任何不一致之处,并在可能的情况下修复它们,从而避免重建索引。有关使用和限制,请参阅--repair
选项。
corruptRecords
验证输出中的字段
从MongoDB 5.0开始,validate
命令和db.collection.validate()
帮助方法返回一个新的corruptRecords
字段,其中包含用于损坏文档的RecordId
值数组。
maxValidateMemoryUsageMB
服务器参数
从MongoDB 5.0(和4.4.7)开始,setParameter
命令有一个newmaxValidateMemoryUsageMB参数,该参数为validate
命令设置最大内存使用量。
findChunksOnConfigTimeoutMS
服务器参数
从MongoDB 5.0开始,您可以使用findChunksOnConfigTimeoutMS
参数更改chunks
上查找操作的超时。
数据库概述filter
选项
从MongoDB 5.0开始,您可以为数据库分析器设置filter
选项,以确定哪些操作被配置和记录。您可以使用filter
表达式代替slowms
和sampleRate
分析器选项。
参见:
记录数据库概述设置的更改
从MongoDB 5.0开始(也从4.4.2和4.2.12开始提供),使用profile
命令ordbdb.setProfilingLevel()
包装方法对数据库分析器level
、slowms、sampleRate
或filter
所做的更改记录在log file
。
服务器和审计日志的独立日志轮换
从MongoDB 5.0开始,启用审计后,您现在可以使用logRotate
命令独立旋转服务器和审计日志。以前,logRotate
会将两个日志一起旋转。
remote
慢操作日志中的字段
从MongoDB 5.0开始,慢操作日志消息包括指定客户端IP地址的remote
字段。
remoteOpWaitMillis
日志字段
从MongoDB 5.0开始,您可以使用remoteOpWaitMillis日志字段获取碎片结果的等待时间。
resolvedViews
视图上缓慢查询的日志字段
从MongoDB 5.0开始,对视图进行缓慢查询的日志消息包括包含视图详细信息的resolvedViews
字段。
使用let
选项定义变量
从MongoDB 5.0开始,以下命令有一个let
选项来定义变量列表。这允许您通过将变量与查询文本分开来提高命令的可读性。
find
命令findAndModify
命令及相应db.collection.findAndModify()
shell helperupdate
命令及相应db.collection.update()
shell helperdelete
命令db.collection.remove()
shell helper
update
命令还有一个c
字段来定义变量列表。
默认情况下支持用户名到LDAP DN映射
从MongoDB 5.0开始,如果为mongod / mongos和mongoldap的userToDNMapping
配置文件选项和--ldapUserToDNMapping
命令行选项指定了一个空映射文档(即空字符串或空数组),则该选项现在默认情况下会将经过身份验证的用户名映射为LDAP DN。以前,提供空映射文档会导致映射失败。
其他dbStats可用空间统计信息
从MongoDB 5.0开始,dbStats
命令输出以下附加统计信息:
- 分配给收藏的免费空间(
freeStorageSize
) - 分配给索引的免费空间(
indexFreeStorageSize
) - 分配给集合和索引的总可用空间(
totalFreeStorageSize
)
serverStatus
产出变化
serverStatus
在其输出中包含以下新字段:
汇总指标
metrics.commands.update.pipeline
(也有4.4.2+、4.2.11+)metrics.commands.update.arrayFilters
(也有4.4.2+、4.2.11+)metrics.commands.findAndModify.pipeline
(也有4.4.2+、4.2.11+)metrics.commands.findAndModify.arrayFilters
(也有4.4.2+、4.2.11+)metrics.dotsAndDollarsFields
metrics.operatorCounters
API 版本指标
复制指标
阅读关注计数器
readConcernCounters
,其中报告查询操作指定的读取关注级别(readConcernCounters
取代opReadConcernCounters
)readConcernCounters
现在有以下新字段:readConcernCounters.nonTransactionOps.noneInfo
readConcernCounters.transactionOps.noneInfo
写入关注计数器
opWriteConcernCounters
现在有以下新字段:opWriteConcernCounters.insert.noneInfo
opWriteConcernCounters.update.noneInfo
opWriteConcernCounters.delete.noneInfo
螺纹连接数量
connections.threaded
,它报告分配给服务客户端请求的线程的客户端传入连接数量
分片统计
shardingStatistics.resharding
,其中报告有关分片操作的统计数据
服务执行器指标
network.serviceExecutors
,其中报告为客户端请求运行操作的服务执行器
光标指标
metrics.cursor.moreThanOneBatch
,它报告已返回多个批处理的游标总数(使用getMore
命令检索其他批处理)metrics.cursor.totalOpened
,其中报告已打开的光标总数
安全计数器
security.authentication.saslSupportedMechsReceived
,它报告hello请求包含有效hello.saslSupportedMechs
字段的次数。
复数
repl
现在包括一个primaryOnlyServices
文档,其中包含有关仅在副本集原发上运行的服务的其他信息。
计划缓存调试信息大小限制
从MongoDB 5.0(以及4.4.3、4.2.12、4.0.23和3.6.23)开始,只有当所有集合plan caches
的累计大小低于0.5 GB时,计划缓存才会保存全plan cache
条目。当所有集合plan caches
累积大小超过此阈值时,额外的plan cache
条目将被存储,而无需某些调试信息。
plan cache
条目的估计大小(以字节为单位)可在$planCacheStats
的输出中找到。
关闭在会话中打开的不活跃光标
从MongoDB 5.0(和4.4.8)开始,当相应的服务器会话以killSessions
命令结束时,如果会话超时,或者客户端用尽光标,则在客户端会话中创建的光标将关闭。请参阅在mongosh
中迭代光标。
新的validateDBMetadata
命令
MongoDB 5.0添加了validateDBMetadata
命令。validateDBMetadata
命令检查数据库或集合的存储元数据在特定API版本中是否有效。
平台支持
最小微架构
MongoDB 5.0引入了以下最低架构要求:
CPU | 支持的最低微架构 |
---|---|
英特尔x86_64 |
MongoDB 5.0需要以下之一:Intel Sandy Bridge或更新版本的Core处理器,或Intel Tiger Lake 或更高版本 Celeron 或 Pentium 处理器。 |
AMDx86_64 |
MongoDB 5.0需要AMD*Bulldozer *或更高版本。 |
ARMarm64 |
MongoDB 5.0需要ARMv8.2-A或更高版本。 |
不符合这些最低架构要求的x86_64
或arm64
平台不支持MongoDB v5.0。
有关更多信息,请参阅x86_64平台支持。
移除平台
MongoDB 5.0取消了对以下平台的支持:
有关MongoDB 5.0支持的平台和架构的完整列表,请参阅平台支持。
影响兼容性的变化
一些更改可能会影响兼容性,可能需要用户采取行动。有关兼容性更改的详细列表,请参阅MongoDB 5.0中的兼容性更改。
升级程序
重要:
功能兼容性版本
要从4.4部署升级到MongoDB 5.0,4.4部署必须将
featureCompatibilityVersion
设置为4.4
。要检查版本:db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
要升级到MongoDB 5.0,请参阅特定于MongoDB部署的升级说明:
如果您需要升级到5.0的指导,MongoDB专业服务提供主要版本升级支持,以帮助确保顺利过渡到MongoDB应用程序而不中断。
下载
要下载MongoDB 5.0,请转到MongoDB下载中心。
另见:
已知问题
在版本中 | 问题 | 状态 |
---|---|---|
5.0.0 | 服务器-58171:创建集合后,无法修改时间序列集合的granularity 参数。 |
固定在5.0.1 |
5.0.0 | 服务器-58392:正在进行的分片操作可能会阻止备份或还原操作成功。 | 未解决 |
报告问题
要报告问题,请参阅https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports关于如何为MongoDB服务器或相关项目之一提交JIRA票据的指导。