我目前正在开发一个流星应用程序,有时我的服务器出现此错误:
调用方法时出现异常'/ songs / insert'MongoError:E11000重复键错误索引:megan.songs。$ id dup key:{:“399dc507-b1fe-4e0f-a2c4-fa3dabd2bdf5” }
以这种方式调用insert方法:
Songs.insert({name:vid,score:weight,title:title,listkey:Session.get('listkey')});
有人能帮助我吗?
提前致谢,
Topicus
答案 0 :(得分:2)
哪个密钥重复? ObjectId(_id)字段不能重复。它是listkey字段吗?可能你在listkey字段上有一个唯一的索引集,并且你的Session.get()以某种方式返回一个现有的密钥,这就是你的插入失败的原因。你可以执行:
db.Songs.find({listkey:"399dc507-b1fe-4e0f-a2c4-fa3dabd2bdf5"});
并检查是否有多份文件退回?
答案 1 :(得分:0)
不是说这是您的解决方案,但是......如果您使用的是SimpleSchema,并且您已经指定了' unique'或者'索引'在球场上。即使您已修改SimpleSchema对象以删除约束,您也需要.drop()。