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

Advarsel om fortabelse af MongoDB-mangos

Opdatering:

5.2.10 er frigivet og tilgængelig til download her.

For mere information om dokumenterne kan du se siden https://mongoosejs.com/docs/deprecations

For mere information om problemet og dets rettelse https://github.com/Automattic/mongoose/issues/6880

Oprindeligt svar:

Mongoose 5.2.9-versionen opgraderede den oprindelige mongodb-driver til 3.1.3, hvor ændringer blev tilføjet for at sende advarselsmeddelelser, når den forældede native driver-metode kaldes.

fields option er forældet og erstattes med projection mulighed.

Du bliver nødt til at vente på, at mongoose foretager ændringer i deres slutning for at erstatte feltmuligheden med projektion. Rettelsen er planlagt til 5.2.10-udgivelse.

Indtil videre kan du gå tilbage til 5.2.8, som vil undertrykke alle advarsler om udfasning.

npm install [email protected]

For alle andre forældede advarsler skal du henvende dig fra sag til sag.

Du vil se andre advarsler om udfasning, når du bruger andre indsamlingsmetoder.

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* mongoose skrivemetoder bruger som standard findAndModify metode, som er forældet i mongodb native driver.

Brug mongoose.set('useFindAndModify', false); at få mongooose til at kalde den passende findOne* metode på den oprindelige mongodb-driver.

Til remove og update erstatte disse opkald med delete* og update* metoder.

Til save erstatte disse opkald med insert* / update* hhv. metoder.

Brug mongoose.set('useCreateIndex', true); at få mongooose til at kalde createIndex metode på den oprindelige mongodb-driver.



  1. (MongoDB Java) $skub ind i array

  2. MongoDB opretter ikke database i shell

  3. MongoDB forespørger optimering

  4. Kunne ikke oprette forbindelse til 127.0.0.1:27017, årsag:errno:111 Forbindelsen blev afvist