MongoDB mongodb: failed with error 11000

tianshuai · 2013年06月20日 · 2770 次阅读

项目出问题了,Rails3 +Mongodb 在创建一条数据时报如下错误:mongodb: failed with error 11000 google 一下,这个错误代码意思是主键索引重复,我用的 gem 'mongoid_auto_increment' 有需要自增的表需要加上:

#ID自增
auto_increment :id

奇怪的问题是:第一天用的都没问题,创建数据时一切正常,id 实现自增,大概过了一天创建数据时就报这个错误了,数据创建失败,再重复提交几次后突然就正常了,再看看数据库,发现刚刚创建的数据 id 又1开始自增了……(以前ID为 1、2、3 的数据已经删除了),知道报错的原因了,但为什么 id 又重新从1计算了?我查看了 sequences 这个表,发现 number 字段确实又从1开始了,很奇怪,并没有随意操作这个表改值啊,而且这个问题在生产环境和开发环境都出现了,不知道有没有遇到此问题的人,也不知道是 mongoid_auto_increment 这个插件的 bug 还是各种兼容问题。求解!!! 我先发个贴,再去 github 上找找 issues 有没有提到此处 我的用的是 rails3.2.13, mongoid 3.1.4

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号