MongoDB唯一索引(unique:true)导致的问题

最近在使用Vue + MongoDB + express 写一个项目。

之前使用mongoose 定义Schema的时候 先定义一个字段为unique(唯一索引),类似于:

const bookSchema = new mongoose.Schema({

      bookId: {type: String, unique: true}

});

这样的一个结构,然后后来经过测试后,即是创建好了相关数据以及集合等,发现这个字段不能使用唯一索引,然后就在这段代码中的unique删除了,然后继续运行,发现控制台一直报错 : [Mongoose E11000 duplicate key error index:] 百度了半天发现根本没什么卵的解决办法,然后我在一个国外论坛上看到一个解决:可能之前使用过唯一索引而没有清除干净。然后我就用数据库去查询该集合的索引果然还包含了之前定义的唯一索引,使用dropIndex()方法删除该索引即可。

总结:如果之前在mongoose中使用过unique唯一索引的话,在使用该唯一索引创建了相关数据后再删除mongoose中的unique代码是无法完全清除该唯一索引的,需要使用mongodb手动清除该集合的唯一索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值