E11000: E11000: ошибка дублирующегося ключа в коллекции (duplicate key error)
MongoDBЧто это значит?
Вставка или обновление попытались записать в поле (поля), защищённые уникальным индексом, значение, которое уже существует в коллекции. MongoDB отклоняет дублирующийся ключ.
Почему возникает?
Коллизия _id, повторная запись того же значения в поле с уникальным индексом, состояние гонки при upsert или коллизия значений null у нескольких документов в уникальном индексе (не sparse-индекс).
Как исправить
Перед записью проверьте, существует ли документ, или используйте upsert: db.collection.updateOne(filter, {$set:{...}}, {upsert:true}). Посмотрите имя индекса и значение dup key в сообщении об ошибке. Если уникальность на самом деле не нужна, удалите индекс; если проблема в null, используйте частичный/sparse-индекс. В приложении перехватывайте ошибку и повторяйте операцию либо сообщайте о ней пользователю.