Mam podobny problem, uaktualniłem na Ubuntu 16.04 z MongoDB 3.4 do 3.6, ale przegapiłem ten ważny krok
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
Następnie muszę obniżyć wersję do 3.4, aby to zrobić, a następnie ponownie zaktualizować do 3.6. Oto szczegółowe kroki:
1. Odinstaluj 3.6
Kopia zapasowa /etc/mongod.conf
Kopia zapasowa /etc/apt/sources.list.d/mongodb-org-3.6.listed
(zmień nazwę lub przenieś go do innego folderu)
sudo apt-get update
sudo apt-get remove mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
2. Zainstaluj ponownie 3.4
Sprawdź folder /etc/apt/sources.list.d/
aby sprawdzić, czy ten plik istnieje, czy nie:mongodb-org-3.4.list
.Jeśli nie istnieje, możesz odtworzyć za pomocą tego polecenia:
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
następnie zainstaluj przez apt-get
sudo apt-get update
sudo apt-get install -y mongodb-org
mongod --version
sudo systemctl start mongod
W moim przypadku polecenie systemctl start mongod
return error Failed to start mongod.service: Unit mongod.service not found
Rozwiązałem się za pomocą tych poleceń:
sudo systemctl enable mongod
sudo service mongod restart
sudo service mongod status
3. Wykonaj bardzo ważne polecenie
Po przejściu na wersję 3.4 uruchom to
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. Zaktualizuj ponownie 3.6
Przywróć ten plik /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
Przywróć /etc/mongod.conf
. Teraz MongoDB 3.6 uruchomiło się bez problemu