DBAtlas · Atlas de operações de banco de dados

E11000: E11000 duplicate key error collection

MongoDB

O que significa?

Um insert ou update tentou gravar, em campo(s) protegido(s) por um índice único, um valor que já existe na collection. O MongoDB rejeita a chave duplicada.

Por que acontece?

Colisão de _id, gravação do mesmo valor uma segunda vez em um campo com índice único, uma condição de corrida durante upsert, ou valores null colidindo em mais de um documento em um índice único (índice não sparse).

Como resolver

Verifique se o documento existe antes de gravar, ou use um upsert: db.collection.updateOne(filter, {$set:{...}}, {upsert:true}). Veja o nome do índice e o valor dup key na mensagem de erro. Se a unicidade não for realmente necessária, remova o índice; se os nulls forem o problema, use um índice partial/sparse. Na aplicação, capture o erro e tente novamente ou informe ao usuário.

Abrir no DBAtlas →

Mais entradas deste banco