2012-07-26 21 views
2

我目前正在開發一個應用程序的流星,有時我的服務器與此錯誤出現故障:複製的關鍵與MongoDB的

異常而調用方法「/歌曲/插入」 MongoError:E11000重複鍵錯誤指數: megan.songs $ ID DUP鍵:{: 「399dc507-b1fe-4e0f-a2c4-fa3dabd2bdf5」}

插入方法被調用以這種方式:

Songs.insert({名字:西元,score:weight,title:title,listkey:Session.get('listkey')});

任何人都可以幫助我嗎?

由於提前,

Topicus

回答

2

其中關鍵是得到複製? ObjectId(_id)字段不能重複。它是listkey字段嗎?也許你已經一個唯一索引上listkey字段設置,不管怎樣你Session.get()將返回現有的密鑰,這就是爲什麼你的插入是failing..Can你執行:

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

,並檢查是否有多少文件返回?

0

不是說這是你的解決方案,但是......如果你使用SimpleSchema並且你已經在該字段上指定了'unique'或'index',你可以得到這個問題。即使您修改了SimpleSchema對象以刪除約束,您仍然需要.drop()。