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

MongoDB - Mengapa indeks _id tidak membuat kesalahan pada entri duplikat?

Tidak ada alasan untuk menampilkan kesalahan indeks duplikat dalam kasus pertama karena hanya mencoba memperbarui _id dan name bidang catatan yang sama dengan nilai yang sama.

Jika Anda akan mencoba

  db.foo.update({ _id: '1098'}, { _id: 'doe123', name: 'John Doe'}, { upsert: true});

Anda akan mendapatkan kesalahan, karena kueri mencoba memperbarui catatan dengan _id yang berbeda dengan beberapa _id . yang ada nilai.

Dalam kasus kedua, Anda membuat catatan terlebih dahulu dengan name bidang dan kemudian Anda mencoba memperbarui nama yang sama di catatan lain, yang akan memberikan kesalahan sebagai name adalah indeks unik.

Sunting :-

Jika Anda mencoba

 db.foo.insert({ _id: 'doe123', name: 'John Doe'});

akan memberi Anda kesalahan, karena dalam kasus ini Anda mencoba memasukkan catatan yang sudah ada yaitu _id unik dan Anda mencoba membuat satu rekaman lagi dengan _id yang sama nilai.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. skrip mongo shell tidak akan membiarkan saya menyertakan use <database>

  2. Polimorfisme SD MongoDB dalam subdokumen

  3. Gunakan bluebird untuk luwak, dapatkan .bind bukan fungsi

  4. Implementasi pengindeksan internal MongoDB?

  5. Menyimpan file di mongodb menggunakan node.js