MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Mungo-Verfallwarnung

Aktualisierung:

5.2.10 wurde veröffentlicht und steht hier zum Download bereit.

Weitere Informationen zu den Dokumenten finden Sie auf der Seite https://mongoosejs.com/docs/deprecations

Weitere Informationen zu diesem Problem und seiner Lösung finden Sie unter https://github.com/Automattic/mongoose/issues/6880

Ursprüngliche Antwort:

Mongoose Version 5.2.9 hat den nativen Mongodb-Treiber auf 3.1.3 aktualisiert, in dem Änderungen hinzugefügt wurden, um Warnmeldungen auszulösen, wenn die veraltete Methode des nativen Treibers aufgerufen wird.

fields Die Option ist veraltet und wird durch projection ersetzt Option.

Sie müssen warten, bis Mongoose an seinem Ende Änderungen vornimmt, um die Feldoption durch Projektion zu ersetzen. Die Behebung ist für die Version 5.2.10 geplant.

Vorerst können Sie zu 5.2.8 zurückkehren, wodurch alle Verfallswarnungen unterdrückt werden.

npm install [email protected]

Für alle anderen veralteten Warnungen müssen Sie sich von Fall zu Fall an sie wenden.

Sie werden andere Verfallswarnungen sehen, wenn Sie andere Erfassungsmethoden verwenden.

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.

Alle findOne* Mungo-Schreibmethoden verwenden standardmäßig findAndModify Methode, die im nativen Mongodb-Treiber veraltet ist.

Verwenden Sie mongoose.set('useFindAndModify', false); um Mungo den entsprechenden findOne* aufrufen zu lassen -Methode auf dem nativen Mongodb-Treiber.

Für remove und update Ersetzen Sie diese Aufrufe durch delete* und update* Methoden.

Für save Ersetzen Sie diese Aufrufe durch insert* / update* Methoden.

Verwenden Sie mongoose.set('useCreateIndex', true); um Mungo den createIndex aufrufen zu lassen -Methode auf dem nativen Mongodb-Treiber.