E11000 duplicate key error collection 解决
2025-01-10
JavaScript
51
背景
最近在使用 moongose 的过程中遇到一个报错
E11000 duplicate key error collection: fe.appversions index: name_1 dup key: { name:
经过查询之后,发现是我把name设置为索引了,不能有重复值
修复
- 在 model 的 schema 中将 name 的 unique 字段去掉
name: {
type: String,
required: true,
unique: true
}
name: {
type: String,
required: true
}
- 去掉之后,再保存,还是不行。说明mongodb已经将name设置为索引了,简单改schema已经不行,需要手动删一下索引
# 启动mongodb bash
mongosh
# 切换到工作数据集
use <workdb>
# 检查索引
— 检查索引
db.appversions.getIndexes()
输出
[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{
v: 2,
key: { name: 1 },
name: 'name_1',
background: true,
unique: true
}
]
可以发现,确实多了一个索引
- 删除索引
db.appversions.dropIndex("name_1")
原文地址:https://webfem.com/post/duplicate,转载请注明出处