MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Ostrzeżenie o wycofaniu:collection.findAndModify jest przestarzałe. Zamiast tego użyć findOneAndUpdate, findOneAndReplace lub findOneAndDelete?

Musisz ustawić opcję w zapytaniu useFindAndModify na false , jak wspomniano w dokumentacji.

(słowo kluczowe wyszukiwania Obecnie obsługiwane opcje to )

„useFindAndModify”:domyślnie prawda. Ustaw na false, aby makefindOneAndUpdate() i findOneAndRemove() używały nativefindOneAndUpdate() zamiast findAndModify().

i jeśli zobaczysz plik definicji mangusty, w którym wspomniano, że wywołuje polecenie aktualizacji 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>;

Ostatnio zaktualizowane w dokumentacji mangusty (kliknij tutaj) dla tych wycofanych, gdzie wspomniano:

Funkcja findOneAndUpdate() Mongoose jest długa przed funkcją sfindOneAndUpdate() sterownika MongoDB, więc zamiast tego używa funkcji sfindAndModify() sterownika MongoDB.

Istnieją trzy lub więcej sposobów na uniknięcie użycia FindAndModify :

  1. Na poziomie globalnym:ustaw opcję na fałsz.
// Make Mongoose use `findOneAndUpdate()`. Note that this option is `true`
// by default, you need to set it to false.
mongoose.set('useFindAndModify', false);
  1. Na poziomie połączenia:możemy skonfigurować za pomocą opcji połączenia:
    mongoose.connect(uri, { useFindAndModify: false });
  1. Na poziomie zapytania:
   await ModelName.findOneAndUpdate({matchQuery},
   {$set: updateData}, {useFindAndModify: false});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb:różnica między $push/$addtoset

  2. Projekt schematu bazy danych MongoDB

  3. MongoDB $dateToParts

  4. MongoDB $isoDayOfWeek

  5. Utwórz indeks geoprzestrzenny 2dsphere dla zapytań sferycznych w MongoDB