Aggiorna
Mongoose 5.7.1 è stato rilasciato e sembra risolvere il problema, quindi impostare useUnifiedTopology
l'opzione funziona come previsto.
mongoose.connect(mongoConnectionString, {useNewUrlParser: true, useUnifiedTopology: true});
Risposta originale
Stavo affrontando lo stesso problema e ho deciso di approfondire il codice Mongoose:https://github.com/Automattic/mongoose/search?q=useUnifiedTopology&unscoped_q=useUnifiedTopology
Sembra essere un'opzione aggiunta alla versione 5.7 di Mongoose e non ancora ben documentata. Non riuscivo nemmeno a trovarlo menzionato nella cronologia della libreria https://github.com/Automatic/mongoose/blob/master/History.md
Secondo un commento nel codice:
- @param {Boolean} [options.useUnifiedTopology=false] Falso per impostazione predefinita. Imposta su
true
per attivare il set di repliche del driver MongoDB e il motore di monitoraggio dei cluster partizionati.
C'è anche un problema nel progetto GitHub su questo errore:https://github.com/Automattic/mongoose/issues/8156
Nel mio caso non utilizzo Mongoose in un set di repliche o in un cluster partizionato e anche se l'opzione dovrebbe essere falsa. Ma se è falso si lamenta che l'impostazione dovrebbe essere vera. Una volta è vero, non funziona ancora, probabilmente perché il mio database non viene eseguito su un set di repliche o su un cluster partizionato.
Ho effettuato il downgrade a 5.6.13 e il mio progetto ha ripreso a funzionare correttamente. Quindi l'unica opzione che vedo per ora è di eseguire il downgrade e attendere che la correzione si aggiorni per una versione più recente.