Aktualizace:
5.2.10 je vydán a je k dispozici ke stažení zde.
Pro více informací o dokumentech si můžete prohlédnout stránku https://mongoosejs.com/docs/deprecations
Pro více informací o problému a jeho opravě https://github.com/Automattic/mongoose/issues/6880
Původní odpověď:
Verze Mongoose 5.2.9 upgradovala nativní ovladač mongodb na verzi 3.1.3, do které byly přidány změny, které vyvolávají varovné zprávy při volání metody zastaralého nativního ovladače.
fields volba je zastaralá a je nahrazena projection možnost.
Budete muset počkat, až mongoose provede změny na svém konci a nahradí volbu polí projekcí. Oprava je naplánována na vydání 5.2.10.
Prozatím se můžete vrátit k verzi 5.2.8, která potlačí všechna upozornění na ukončení podpory.
npm install example@sqldat.com
U všech ostatních zavržených varování je třeba k nim přistupovat případ od případu.
Při použití jiných metod sběru uvidíte další upozornění na ukončení podpory.
DeprecationWarning: collection.findAndModify is deprecated. Use findOneAndUpdate, findOneAndReplace or findOneAndDelete instead.
DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead.
DeprecationWarning: collection.update is deprecated. Use updateOne, updateMany, or bulkWrite instead.
DeprecationWarning: collection.save is deprecated. Use insertOne, insertMany, updateOne, or updateMany instead.
DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
Vše findOne* Metody zápisu mongoose ve výchozím nastavení používají findAndModify metoda, která je v nativním ovladači mongodb zastaralá.
Použijte mongoose.set('useFindAndModify', false); aby mongooose zavolal příslušný findOne* metoda na nativním ovladači mongodb.
Pro remove a update nahraďte tato volání příkazem delete* a update* metody.
Pro save nahraďte tato volání pomocí insert* / update* metody.
Použijte mongoose.set('useCreateIndex', true); aby mongooose zavolal createIndex metoda na nativním ovladači mongodb.