E11000: E11000 duplicate key error collection (error de clave duplicada)
MongoDB¿Qué significa?
Una inserción o actualización intentó escribir un valor que ya existe en la colección en campos protegidos por un índice único. MongoDB rechaza la clave duplicada.
¿Por qué ocurre?
Una colisión de _id, escribir el mismo valor por segunda vez en un campo con índice único, una condición de carrera durante un upsert o valores null que colisionan en más de un documento en un índice único (índice no sparse).
Cómo solucionarlo
Compruebe si el documento existe antes de escribir o use un upsert: db.collection.updateOne(filter, {$set:{...}}, {upsert:true}). Mire el nombre del índice y el valor dup key en el mensaje de error. Si la unicidad no es realmente necesaria, elimine el índice; si el problema son los null, use un índice partial/sparse. En la aplicación, capture el error y reintente o infórmelo al usuario.