MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Avviso di deprecazione della mangusta MongoDB

Aggiornamento:

5.2.10 è stato rilasciato ed è disponibile per il download qui.

Per maggiori informazioni sui documenti puoi visualizzare la pagina https://mongoosejs.com/docs/deprecations

Per maggiori informazioni sul problema e sulla sua correzionehttps://github.com/Automatic/mongoose/issues/6880

Risposta originale:

La versione Mongoose 5.2.9 ha aggiornato il driver mongodb nativo alla 3.1.3 in cui sono state aggiunte modifiche per generare messaggi di avviso quando viene chiamato il metodo del driver nativo deprecato.

fields l'opzione è obsoleta e viene sostituita con projection opzione.

Dovrai attendere che la mangusta apporti modifiche alla fine per sostituire l'opzione dei campi con la proiezione. La correzione è prevista per la versione 5.2.10.

Per il momento puoi tornare alla versione 5.2.8 che sopprimerà tutti gli avvisi di deprecazione.

npm install [email protected]

Per tutti gli altri avvisi deprecati devi affrontarli caso per caso.

Vedrai altri avvisi di ritiro quando utilizzi altri metodi di raccolta.

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.

Tutti i findOne* i metodi di scrittura mongoose per impostazione predefinita utilizzano findAndModify metodo che è deprecato nel driver nativo mongodb.

Usa mongoose.set('useFindAndModify', false); per fare in modo che Mongooose chiami l'appropriato findOne* metodo sul driver nativo mongodb.

Per remove e update sostituisci quelle chiamate con delete* e update* metodi rispettivamente.

Per save sostituisci quelle chiamate con insert* / update* metodi rispettivamente.

Usa mongoose.set('useCreateIndex', true); per fare in modo che mongooose chiami createIndex metodo sul driver nativo mongodb.