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 [email protected]
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.