DBAtlas · 数据库运维图谱

E11000: E11000 duplicate key error collection(E11000 集合中的重复键错误)

MongoDB

含义

插入或更新尝试向受唯一索引保护的字段写入集合中已存在的值。MongoDB 拒绝该重复键。

原因

_id 冲突、向具有唯一索引的字段第二次写入相同值、upsert 期间的竞态条件,或唯一索引(非 sparse 索引)中多个文档的 null 值发生冲突。

解决方法

写入前检查文档是否存在,或使用 upsert:db.collection.updateOne(filter, {$set:{...}}, {upsert:true})。查看错误消息中的索引名和 dup key 值。如果实际上不需要唯一性,删除该索引;如果问题出在 null 值,使用 partial/sparse 索引。在应用中捕获错误并重试或报告给用户。

在 DBAtlas 中打开 →

同一数据库的其他条目