MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Avertissement de dépréciation de MongoDB mongoose

Mise à jour :

La version 5.2.10 est publiée et disponible en téléchargement ici.

Pour plus d'informations sur les documents, vous pouvez consulter la pagehttps://mongoosejs.com/docs/deprecations

Pour plus d'informations sur le problème et son correctifhttps://github.com/Automattic/mongoose/issues/6880

Réponse originale :

La version 5.2.9 de Mongoose a mis à niveau le pilote natif mongodb vers la version 3.1.3 dans laquelle des modifications ont été ajoutées pour envoyer des messages d'avertissement lorsque la méthode obsolète du pilote natif est appelée.

fields l'option est obsolète et est remplacée par projection option.

Vous devrez attendre que la mangouste apporte des modifications à leur fin pour remplacer l'option champs par projection. Le correctif est prévu pour la version 5.2.10.

Pour le moment, vous pouvez revenir à 5.2.8 qui supprimera tous les avertissements d'obsolescence.

npm install [email protected]

Pour tous les autres avertissements obsolètes, vous devez les aborder au cas par cas.

Vous verrez d'autres avertissements d'obsolescence lorsque vous utiliserez d'autres méthodes de collecte.

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.

Tous findOne* les méthodes d'écriture mongoose utilisent par défaut le findAndModify méthode obsolète dans le pilote natif mongodb.

Utilisez mongoose.set('useFindAndModify', false); pour que mongooose appelle le findOne* approprié méthode sur le pilote natif mongodb.

Pour remove et update remplacer ces appels par delete* et update* méthodes respectivement.

Pour save remplacer ces appels par insert* / update* méthodes respectivement.

Utilisez mongoose.set('useCreateIndex', true); pour que mongooose appelle le createIndex méthode sur le pilote natif mongodb.