MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Il motore di rilevamento e monitoraggio del server è deprecato

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.