sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB mongoose utfasningsvarning

Uppdatering:

5.2.10 är släppt och tillgänglig för nedladdning här.

För mer information om dokumenten kan du se sidan https://mongoosejs.com/docs/deprecations

För mer information om problemet och dess lösning https://github.com/Automattic/mongoose/issues/6880

Ursprungligt svar:

Mongoose 5.2.9-versionen uppgraderade den inbyggda mongodb-drivrutinen till 3.1.3 där ändringar lades till för att skicka varningsmeddelanden när den föråldrade inbyggda drivrutinmetoden anropas.

fields alternativet är föråldrat och ersätts med projection alternativ.

Du måste vänta på att mongoose gör ändringar i slutet för att ersätta fältalternativet med projektion. Korrigeringen är planerad till version 5.2.10.

Tills vidare kan du gå tillbaka till 5.2.8 som kommer att undertrycka alla utfasningsvarningar.

npm install [email protected]

För alla andra föråldrade varningar måste du närma dig dem från fall till fall.

Du kommer att se andra utfasningsvarningar när du använder andra insamlingsmetoder.

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.

Alla findOne* mongoose-skrivmetoder använder som standard findAndModify metod som är utfasad i mongodb inbyggd drivrutin.

Använd mongoose.set('useFindAndModify', false); för att få mongooose att anropa lämplig findOne* metod på den inbyggda mongodb-drivrutinen.

För remove och update ersätt dessa samtal med delete* och update* metoder respektive.

För att save ersätt dessa samtal med insert* / update* metoder respektive.

Använd mongoose.set('useCreateIndex', true); för att få mongooose att anropa createIndex metod på den inbyggda mongodb-drivrutinen.



  1. Ska jag använda redis för att lagra ett stort antal binära filer?

  2. Hur infogar man om det inte finns annars uppdaterar man med mongoengine?

  3. Hur undviker man transparent_hugepage/defrag-varning från mongodb?

  4. Mongoose skillnad mellan .save() och att använda update()