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

Upozornění na ukončení podpory MongoDB mongoose

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.



  1. Jak provést vložení, pokud neexistuje jiná aktualizace pomocí mongoengine?

  2. Jak nastavit replikaci MySQL Master-Slave na Ubuntu 18.04

  3. $vyhledat více úrovní bez $unwind?

  4. Jak předat ObjectId z MongoDB v MVC.net