Mongodb PHP laravel duplicate key

09:55 Unknown 0 Comments


Beberapa saat yang lalu, saat mengerjakan sebuah project dengan menggunakan laravel dan mongodb saya menemukan error seperti berikut :

caused by :: 11000 E11000 duplicate key error index
error tersebut muncul saat looping tepatnya saat proses insert pada sebuah collection di mongodb contoh script :
  1. for ($i=0; $i < 5; $i++) {
  2. $arrayName = array('key1' => 'jono','key2' => 'paniem');
  3.  
  4. DB::table('nama_collection')->insert($arrayName);
  5. }
  6.  
Dalam kasus saya coding di atas akan error karena variable $arrayName memiliki nilai yang sama ketika terjadi looping yang ke dua. Kita perlu menggunakan fungsi unset($arrayName) :
  1. for ($i=0; $i < 5; $i++) {
  2. $arrayName = array('key1' => 'jono','key2' => 'paniem');
  3.  
  4. DB::table('nama_collection')->insert($arrayName);
  5. unset($arrayName);
  6. }
  7.  
Pada coding di atas tidak akan muncul lagi duplicate key pada proses insert di mongodb, karena variable $namaArray sudah di unset.