我正在尝试将我的单节点mongodb集群从3.4升级到3.6。 一切都很好,但我无法将功能兼容性更改为3.6。当我尝试 -
db.adminCommand({setFeatureCompatibilityVersion:“'3.6'”})
我得到一个错误说 -
{
"ok" : 0,
"errmsg" : "Invalid command argument. Expected '3.4' or '3.2', found '3.6' in: { setFeatureCompatibilityVersion: \"'3.6'\" }. See http://dochub.mongodb.org/core/3.4-feature-compatibility.",
"code" : 2,
"codeName" : "BadValue"
}
出于某种原因,我的db版本没有更新,可能是某些依赖项搞砸了。我使用清除选项卸载了当前安装并重新安装了mongodb,它解决了这个问题。 如果使用purge选项,请不要忘记为配置文件创建备份。
作为官方定义:它启用或禁用与早期版本不兼容的数据(*表示当前版本低于当前版本)MongoDB的功能。所以,例如,如果我得到mongo3.6,那么我不得不担心以前的版本,而不是当前版本。您是否尝试为自身设置相同版本的兼容性?该错误还表明您的系统仅需要映射以前的版本。即版本低于您当前安装的版本。
您可以尝试按照本网站上的说明Upgrade a Standalone to 3.6
如果你使用Ubuntu OS,试试这个:
第1步:停止旧的Mongod服务器
运行“sudo systemctl stop mongod
”,MongoDB将被停止。
第2步:导入MongoDB公钥
运行“sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
”并为您导入密钥!
第3步:更新apt / MongoDB的列表文件
要删除旧列表,请运行“sudo rm /etc/apt/sources.list.d/mongodb-org-3.4.list
”现在添加新的“echo “deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
”运行“sudo apt-get update
”以更新apt的列表。
第4步:升级MongoDB安装
最简单的方法是运行“sudo apt-get upgrade -y
”,这将使apt更新系统中所有过时的软件包。有趣!如果它要求在/etc/mongod.conf中替换该文件,请说“不”以保持您的设置不变。
第5步:启动MongoDB
运行“sudo systemctl start mongod
”,我们正在运行。就这么简单!