setFeatureCompatibilityVersion
¶3.4版的新功能。
在版本3.6中更改。
启用或禁用用于保留与MongoDB早期版本不兼容的数据的功能。您只能setFeatureCompatibilityVersion
对admin
数据库发出
。
该命令采用以下形式:
的值为version
:
版 | 描述 |
---|---|
"4.2" |
在MongoDB 4.2部署中可用 启用4.2功能,以保留与MongoDB 4.0不兼容的数据。 启用这些向后不兼容的功能可能会使降级过程复杂化,因为在降级之前必须删除所有持久的向后不兼容的功能。 建议在升级后,允许您在不启用这些功能的情况下运行部署,并且要在预热期内确保降级的可能性最小。如果您确信降级的可能性很小,请启用这些功能。 |
"4.0" |
在MongoDB 4.0和4.2部署中可用
|
"3.6" |
在MongoDB 3.6和4.0部署中可用
|
"3.4" |
在MongoDB 3.4和MongoDB 3.6部署中可用
|
"3.2" |
在MongoDB 3.4部署中可用 |
某些后台操作可能会阻止执行setFeatureCompatibilityVersion
。使用
currentOp
识别任何正在进行的操作。
部署 | featureCompatibilityVersion |
---|---|
对于新的4.2部署 | "4.2" |
对于从4.0升级的 4.2部署 | "4.0" 直到你setFeatureCompatibilityVersion 去"4.2" 。 |
对于新的4.0部署 | "4.0" |
对于从3.6升级的 4.0部署 | "3.6" 直到你setFeatureCompatibilityVersion 去"4.0" 。 |
对于新的3.6部署 | "3.6" |
对于从3.4升级的 3.6部署 | "3.4" 直到你setFeatureCompatibilityVersion
去"3.6" 。 |
对于新的3.4部署 | "3.4" |
对于3.4部署,从3.2升级 | "3.2" 直到你setFeatureCompatibilityVersion
去"3.4" 。 |
此命令必须执行对内部系统集合的写入。如果由于某种原因该命令未成功完成,则可以安全地重试该命令,因为该操作是幂等的。
要查看featureCompatibilityVersion
的mongod
情况下,运行在下面的命令mongod
实例:
在结果文档中,的格式
featureCompatibilityVersion
取决于MongoDB版本。单击选项卡以获取适当的MongoDB版本。
对于MongoDB 3.6或更高版本的mongod
实例:
如果部署具有默认值featureCompatibilityVersion
,或者setFeatureCompatibilityVersion
命令已针对部署成功运行,
featureCompatibilityVersion
则其格式为:
如果mongod
处于部分升级或降级状态,featureCompatibilityVersion
则其格式如下:
例如,如果分片群集的分片副本集仅在您setFeatureCompatibilityVersion
针对运行命令时是只读的mongos
,则该命令将失败,并且
featureCompatibilityVersion
配置服务器的将包含该targetVersion
字段。
或者,如果副本集在setFeatureCompatibilityVersion
运行时变为只读
,则命令将失败,并且featureCompatibilityVersion
副本集的还将包含该targetVersion
字段。
对于MongoDB 3.4 mongod
实例:
要启用持久保留与MongoDB 4.0不兼容的数据的4.2功能,请将功能兼容性设置为"4.2"
在MongoDB 4.2部署上:
注意
setFeatureCompatibilityVersion
对admin
数据库运行命令。
要禁用持久保留与MongoDB 4.0不兼容的数据的4.2功能,请将功能兼容性设置为"4.0"
在MongoDB 4.2部署上:
注意
setFeatureCompatibilityVersion
对admin
数据库运行命令。
如果作为从MongoDB 4.2降级到MongoDB 4.0的降级过程的一部分运行,则还必须删除所有与4.0 不兼容的持久功能 。请参阅适当的降级过程。
要启用持久保留与MongoDB 3.6不兼容的数据的4.0功能,请将功能兼容性设置为"4.0"
在MongoDB 4.0部署上:
注意
setFeatureCompatibilityVersion
对admin
数据库运行命令。
要禁用持久保留与MongoDB 3.6不兼容的数据的4.0功能,请将功能兼容性设置为"3.6"
在MongoDB 4.0部署上:
注意
setFeatureCompatibilityVersion
对admin
数据库运行命令。
如果作为从MongoDB 4.0降级到MongoDB 3.6的降级过程的一部分运行,则还必须删除所有与3.6 不兼容的持久功能 。请参阅适当的降级过程。
要启用持久保留与MongoDB 3.4不兼容的数据的3.6功能,请将功能兼容性设置为"3.6"
在MongoDB 3.6部署上:
注意
setFeatureCompatibilityVersion
对admin
数据库运行命令。
要禁用用于保留与MongoDB 3.4不兼容的数据的3.6功能,请将功能兼容性设置为"3.4"
在MongoDB 3.6部署上:
注意
setFeatureCompatibilityVersion
对admin
数据库运行命令。
如果作为从MongoDB 3.6降级到MongoDB 3.4的降级过程的一部分运行,则还必须删除所有与3.4 不兼容的持久功能 。请参阅适当的降级过程。
警告
启用这些向后不兼容的功能会使降级过程复杂化。有关详细信息,请参阅删除3.4不兼容的功能。
建议在升级后,允许您在不启用这些功能的情况下运行部署,并且要在预热期内确保降级的可能性最小。如果您确信降级的可能性很小,请启用这些功能。
要启用向后不兼容的3.4功能,请"3.4"
在MongoDB 3.4部署上将功能兼容性设置为:
注意
setFeatureCompatibilityVersion
对admin
数据库运行命令。
要禁用3.4向后不兼容的功能,请"3.2"
在MongoDB 3.4部署上将功能兼容性设置为:
注意
setFeatureCompatibilityVersion
对admin
数据库运行命令
。
将设置featureCompatibilityVersion
为"3.2"
会禁用这些功能的使用,但不会删除这些功能的现有用法。
如果作为降级到3.2过程的一部分执行,则还必须在降级二进制文件之前手动删除现有用法。有关详细信息,请参阅删除3.4不兼容的功能。