sql >> Databáze >  >> NoSQL >> MongoDB

Server Discovery And Monitoring engine je zastaralý

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.



  1. použijte node-redis s node 8 util.promisify

  2. nginx uwsgi websockets 502 Bad Gateway upstream předčasně uzavřené připojení při čtení hlavičky odpovědi z upstreamu

  3. Ovlivňuje délka jména výkon v Redis?

  4. jak mohu předat nekonečno do redis z pythonu?