E11000: E11000 duplicate key error collection
MongoDBNe demek?
Benzersiz bir index'in (unique index) koruduğu alan(lar)a, koleksiyonda zaten var olan bir değer eklenmeye/güncellenmeye çalışıldı. MongoDB duplicate key'i reddeder.
Neden olur?
_id çakışması, unique index'li bir alana aynı değerin ikinci kez yazılması, upsert sırasında yarış durumu (race condition), veya null değerlerin unique index'te birden fazla belge için çakışması (sparse olmayan index).
Nasıl çözülür?
Yazmadan önce belgenin var olup olmadığını kontrol edin veya upsert kullanın: db.koleksiyon.updateOne(filtre, {$set:{...}}, {upsert:true}). Hata mesajındaki index adı ve dup key değerine bakın. Gerçekten benzersizlik gerekmiyorsa index'i kaldırın; null'lar sorun oluyorsa partial/sparse index kullanın. Uygulamada hatayı yakalayıp yeniden deneyin veya kullanıcıya bildirin.