MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

DeprecationWarning:collection.findAndModify е остарял. Вместо това да използвате findOneAndUpdate, findOneAndReplace или findOneAndDelete?

Трябва да зададете опцията в заявката useFindAndModify до false , както е посочено в документите.

(ключова дума за търсене Поддържаните в момента опции са )

'useFindAndModify':вярно по подразбиране. Задайте на false за makefindOneAndUpdate() и findOneAndRemove() използвайте nativefindOneAndUpdate() вместо findAndModify().

и ако видите файла с дефиниция на mongoose, където е споменато, че той извиква командата за актуализиране findAndModify.

 /**
  * Issues a mongodb findAndModify update command.
  * Finds a matching document, updates it according to the update arg, 
    passing any options,
  * and returns the found document (if any) to the callback. The query 
    executes immediately
  * if callback is passed else a Query object is returned.
  */
 findOneAndUpdate(): DocumentQuery<T | null, T>;

Наскоро актуализиран в документите на mongoose (Щракнете тук) за тези оттегляне, където е споменато:

FindOneAndUpdate() на Mongoose дълго предшества функцията sfindOneAndUpdate() на драйвера MongoDB, така че вместо това използва функцията sfindAndModify() на драйвера MongoDB.

Има три или повече начина, по които можете да избегнете използването на FindAndModify :

  1. На глобално ниво:Задайте опцията на false.
// Make Mongoose use `findOneAndUpdate()`. Note that this option is `true`
// by default, you need to set it to false.
mongoose.set('useFindAndModify', false);
  1. На ниво връзка:можем да конфигурираме с помощта на опциите за връзка:
    mongoose.connect(uri, { useFindAndModify: false });
  1. На ниво заявка:
   await ModelName.findOneAndUpdate({matchQuery},
   {$set: updateData}, {useFindAndModify: false});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoNetworkError:неуспешно свързване със сървър [localhost:27017] при първото свързване [MongoNetworkError:свържете ECONNREFUSED 127.0.0.1:27017]

  2. MongoDB $oid срещу ObjectId

  3. има ли обратна грешка при свързване на mongoose

  4. Mongoose, CastError:Прехвърляне към масив не бе успешно за стойност при опит за запазване на модел, който съдържа модел

  5. mongodb получава отделни записи