MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

DeprecationWarning:collection.findAndModify tidak digunakan lagi. Gunakan findOneAndUpdate, findOneAndReplace atau findOneAndDelete sebagai gantinya?

Anda perlu menyetel opsi dalam kueri useFindAndModify menjadi false , seperti yang disebutkan dalam dokumen.

(kata kunci pencarian Opsi yang saat ini didukung adalah )

'useFindAndModify':benar secara default. Setel ke false ke makefindOneAndUpdate() dan findOneAndRemove() gunakan nativefindOneAndUpdate() daripada findAndModify().

dan jika Anda melihat file definisi luwak, di mana disebutkan bahwa itu memanggil perintah pembaruan 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>;

Baru-baru ini diperbarui dalam dokumen luwak (Klik di sini) untuk penghentian ini jika disebutkan:

FindOneAndUpdate() Mongoose sudah lama mendahului fungsi findOneAndUpdate() driver MongoDB, jadi ia menggunakan fungsi driver MongoDB'sfindAndModify() sebagai gantinya.

Ada tiga cara atau lebih untuk menghindari penggunaan FindAndModify :

  1. Pada tingkat Global:Setel opsi ke 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. Pada tingkat koneksi:kita dapat mengonfigurasi menggunakan opsi koneksi:
    mongoose.connect(uri, { useFindAndModify: false });
  1. Pada tingkat Kueri:
   await ModelName.findOneAndUpdate({matchQuery},
   {$set: updateData}, {useFindAndModify: false});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. java.lang.NoClassDefFoundError saat menggunakan driver MongoDB

  2. Bagaimana cara melakukan kueri array id di Mongoose?

  3. Hentikan mongodb dari mengabaikan karakter khusus?

  4. Dokumen Duplikat MongoDB bahkan setelah menambahkan kunci unik

  5. Tambahkan item ke larik dokumen MongoDB di PyMongo tanpa penyisipan ulang