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

Mongodb upsert melempar DuplicateKeyException

Masalah yang saya duga mungkin sebagai berikut:

Anda melakukan operasi pencarian berdasarkan banyak kriteria. Itu berarti jika gagal karena ketidakcocokan param ( dalam kriteria ) maka ia akan mencoba memasukkan dokumen.

Jadi, kemungkinan ada, bahwa Anda mencoba memperbarui dokumen yang sama dengan _id yang sama tetapi beberapa kriteria lain tidak cocok, menyebabkannya dimasukkan lagi yang akan menyebabkan pengecualian kunci duplikat. Perhatikan contoh di bawah ini

test:Mongo > db.example.update({ _id : 1, a : 1, b : 1},{ $set : {d : 1}}, true, false)
test:Mongo > db.example.find()
{ "_id" : 1, "a" : 1, "b" : 1, "d" : 1 }
test:Mongo > db.example.update({ _id : 1, a : 1, b : 2},{ $set : {d : 1}}, true, false)
E11000 duplicate key error index: test.example.$_id_  dup key: { : 1.0 }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menyimpan properti array pada skema Mongoose

  2. Bagaimana cara mengisi array id yang sangat bersarang setelah pencarian agregat di mongodb?

  3. bagaimana cara mongoimport data ke aplikasi meteor yang digunakan?

  4. Dapatkan ID Dokumen yang Terakhir Dimasukkan di MongoDB Dengan Driver Java

  5. Bagaimana menangani tanda hubung dalam definisi Skema GraphQL