我有类似的问题,我已经在 Ubuntu 16.04 上从 MongoDB 3.4 升级到 3.6,但我错过了这重要的一步
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
然后我必须降级到 3.4 才能做到这一点,然后再次升级到 3.6。以下是详细步骤:
1.卸载 3.6
备份/etc/mongod.conf
备份/etc/apt/sources.list.d/mongodb-org-3.6.listed(重命名或移动到另一个文件夹)
sudo apt-get update
sudo apt-get remove mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
2。重新安装 3.4
检查文件夹 /etc/apt/sources.list.d/ 以查看此文件是否存在:mongodb-org-3.4.list。
如果不存在,可以通过这个命令重新创建:
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
然后通过apt-get安装
sudo apt-get update
sudo apt-get install -y mongodb-org
mongod --version
sudo systemctl start mongod
在我的情况下,命令systemctl start mongod 返回错误Failed to start mongod.service: Unit mongod.service not found 我通过这些命令解决了:
sudo systemctl enable mongod
sudo service mongod restart
sudo service mongod status
3.执行非常重要的命令
降级到 3.4 后,运行这个
mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
{ "featureCompatibilityVersion" : "3.4", "ok" : 1 }
> exit
4.再次升级 3.6
恢复这个文件/etc/apt/sources.list.d/mongodb-org-3.6.listed
sudo apt-get update
sudo apt-get install mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
恢复/etc/mongod.conf。现在,MongoDB 3.6 启动没有任何问题