解决mongodb id 重复问题

解决mongodb id 重复问题
mongodb在插入数据时出现id重复错误,具体错误代码如下:

{ [MongoError: E11000 duplicate key error collection: zhihu.people index: id dup key: { : ObjectId(‘59a3b9275f063c20cc8bdec7’) }]
name: ‘MongoError’,
message: ‘E11000 duplicate key error collection: zhihu.people index: id dup key: { : ObjectId(‘59a3b9275f063c20cc8bdec7’) }’,
driver: true,
index: 0,
code: 11000,
errmsg: ‘E11000 duplicate key error collection: zhihu.people index: id dup key: { : ObjectId(‘59a3b9275f063c20cc8bdec7’) }’ }

百度了一下,发现很多人都出现了类似问题,有人说手动删除自生成的id就能解决, 有人说清空集合就好了。
结果是然并卵,数据库的id貌似是根据 时间戳+主机+进程号+序列生成的。重复的原因个人猜测可能有两种:
内部原因: 同时插入两条数据,导致数据库生成了同一个id值。
外部原因:每次使用同一个变量存储不同的数据,导致数据库认为每次存储的是同一条数据,最终生成同一个id值。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值