2016-03-25 13 views
1

Dieser Fehler ist wirklich verwirrend. Ich kann Datensatz einmal erstellen, aber zweites Mal, egal was, würden Fehler angezeigt:Duplikatschlüsselfehler beim Erstellen des Datensatzes

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

Das ist mein Schema:

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

Bevor ich stuCode als code hatte und _code und es war erforderlich, es einzigartig ist. Das könnte vielleicht ein Problem verursachen.

Ich habe versucht, alle Daten aus dieser Sammlung zu löschen, entfernen Sie die Sammlung in mongoose.connection.on('open', function(){ });, aber das Problem ist immer noch da. Ich kann nur erste Aufnahme speichern und zweite ist unmöglich zu speichern.

Was wäre die Lösung für dieses Problem?

+1

Der gleiche "stuCode" des zweiten Dokuments als das erste Dokument? – zangw

+0

@zangw - du meinst ....... .ein doppelter Schlüssel?) –

+0

@MartinJames, ja, ich meine das Duplikat 'stuCode' ... – zangw

Antwort

1

Bevor ich stuCode als Code und _code hatte und es erforderlich war, ist es einzigartig. Das könnte vielleicht ein Problem verursachen.

Ja, dass alte Index auf code ist wahrscheinlich immer noch da, können Sie es nicht fallen lassen?

+0

Danke. Es klappt. Nur eine Anmerkung für andere Leute, die nach diesem Problem suchen werden. So entfernen Sie Indizes: 'Student.collection.dropAllIndexes (function (err, results) {...});' – Astagron

Verwandte Themen