2

我目前正在开发一个流星应用程序,有时我的服务器会出现以下错误:

调用方法'/songs/insert'时出现异常 MongoError: E11000 重复键错误索引:megan.songs.$ id dup key: { : "399dc507-b1fe-4e0f-a2c4-fa3dabd2bdf5" }

插入方法是这样调用的:

Songs.insert({name: vid, score: weight, title:title, listkey:Session.get('listkey')});

有谁能够帮我?

提前致谢,

话题

4

2 回答 2

2

哪个键被复制了?ObjectId (_id) 字段不能重复。它是 listkey 字段吗?可能您在 listkey 字段上设置了唯一索引,并且您的 Session.get() 以某种方式返回现有密钥,这就是您的插入失败的原因..您可以执行:

db.Songs.find({listkey:"399dc507-b1fe-4e0f-a2c4-fa3dabd2bdf5"});

并检查是否返回了多个文件?

于 2012-07-27T07:15:46.247 回答
0

并不是说这是您的解决方案,但是...如果您使用 SimpleSchema 并且您在该字段上指定了“唯一”或“索引”,则可能会遇到此问题。即使您已修改 SimpleSchema 对象以删除约束,您也需要 .drop() 。

于 2016-11-14T04:21:11.130 回答