Aktualizovat
Mongoose 5.7.1 byla vydána a zdá se, že problém opravuje, takže nastavení useUnifiedTopology
možnost funguje podle očekávání.
mongoose.connect(mongoConnectionString, {useNewUrlParser: true, useUnifiedTopology: true});
Původní odpověď
Čelil jsem stejnému problému a rozhodl jsem se hlouběji ponořit do kódu Mongoose:https://github.com/Automattic/mongoose/search?q=useUnifiedTopology&unscoped_q=useUnifiedTopology
Zdá se, že je to možnost přidaná do verze 5.7 Mongoose a ještě není dobře zdokumentována. Nemohl jsem to najít ani uvedeno v historii knihovny https://github.com/Automattic/mongoose/blob/master/History.md
Podle komentáře v kódu:
- @param {Boolean} [options.useUnifiedTopology=false] Ve výchozím nastavení False. Nastavte na
true
pro přihlášení do sady replik ovladače MongoDB a modulu pro monitorování sdíleného clusteru.
Na projektu GitHub je také problém s touto chybou:https://github.com/Automattic/mongoose/issues/8156
V mém případě nepoužívám Mongoose v sadě replik nebo sharded clusteru, a ačkoli tato možnost by měla být false. Ale pokud je hodnota false, stěžuje si, že nastavení by mělo být pravdivé. Jednou je pravda, že to stále nefunguje, pravděpodobně proto, že moje databáze neběží na sadě replik nebo na sdíleném clusteru.
Provedl jsem downgrade na 5.6.13 a můj projekt opět funguje dobře. Takže jediná možnost, kterou zatím vidím, je přejít na nižší verzi a počkat, až se oprava aktualizuje na novější verzi.