Il problema può essere risolto da:
- Backup di tutti i database (utilizzando
mongodump
) - Rimozione di ogni file in
/data/db
, a causa della loro incompatibilità con la versione più recente:rm -rf /data/db/*
- Riavvio del servizio MongoDB
- Ripristino di tutti i database (utilizzando
mongorestore
)
Ho riscontrato un problema simile con admin db, durante l'aggiornamento dal vecchio mongodb 3.4 a 4.2.
La soluzione è eseguire il mongodump di tutti i db ed eliminare /var/lib/mongodb, quindi eseguire il mongorrestore di tutti i db.
STORAGE [initandlisten] exception in initAndListen: MustDowngrade: Collection does not have UUID in KVCatalog. Collection: admin.system.users, terminating
2019-09-24T21:59:55.274+0000 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2019-09-24T21:59:55.274+0000 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2019-09-24T21:59:55.274+0000 I - [initandlisten] Stopping further Flow Control ticket acquisitions.
2019-09-24T21:59:55.274+0000 I CONTROL [initandlisten] now exiting
2019-09-24T21:59:55.274+0000 I CONTROL [initandlisten] shutting down with code:100
La causa del problema:mongodb 4.2 aggiungerà userId con valore UUID nella raccolta system.user. Spero che questo possa esserti d'aiuto.
Durante l'aggiornamento di un altro mongo db, ho riscontrato lo stesso identico problema del tuo su startup_log, sembra che non abbia interrotto mongodb quando ho eliminato la cartella /var/lib/mongodb, dopo aver fermato mongod ed eliminato /var/lib/mongodb e aggiornato a 4.2, l'errore scompare.