2016-03-25 13 views
1

Bu hata gerçekten kafa karıştırıcı. Ne olursa olsun hata görünür, ne bir kez kayıt ama ikinci kez oluşturabilirsiniz: Ben code ve _code olarak stuCode vardı ve bu eşsiz gerekliKayıt oluştururken yinelenen anahtar hatası

var Schema = { 
    "stuCode" : String, 
    "firstName" : Boolean, 
    "lastName" : Boolean, 
    "email" : String 
}; 

önce:

E11000 duplicate key error index: test_db.students.$code_1 dup key: { : null } 

Bu benim şema olduğunu. Bu bir soruna neden olabilir.

Bu koleksiyondaki tüm verileri silmeye çalıştım, koleksiyonumu mongoose.connection.on('open', function(){ });'dan kaldırmaya çalıştım ancak sorun hala var. Sadece ilk kaydı kaydedebilirim ve ikincisi kaydetmek imkansız.

Bu sorunun çözümü ne olurdu?

+1

İlk belgeyle aynı "stuCode" ikinci belgesi mi? – zangw

+0

@zangw - sen ...... demek istiyorsun. Bir anahtar mı? –

+0

@MartinJames, evet, 'stuCode' yinelemeyi kastediyorum ... – zangw

cevap

1

stuCode'u kod yazmadan önce ve _codeand ve bunun benzersiz olması gerekiyordu. Bu, bir soruna neden olabilir.

Evet, code'daki eski dizinin büyük olasılıkla hala var, bırakamaz mısınız?

+0

'un olası kopyası Teşekkürler. İşe yarıyor. Bu problemi arayan diğer insanlar için sadece bir not. İndeksleri nasıl kaldıracağız: 'Student.collection.dropAllIndexes (function (err, results) {...}); – Astagron