解决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值。

你可能感兴趣的:(node阶段)