2016-03-25 3 views
1

Эта ошибка действительно путаница. Я могу создать запись один раз, но во второй раз, независимо от того, что, как представляется ошибка:Повторяющаяся ошибка ключа при создании записи

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

Это моя схема:

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

Прежде, чем я был stuCode в code и _code и требовалось это уникально. Возможно, это может вызвать проблемы.

Я попытался удалить все данные из этой коллекции, удалить коллекцию в mongoose.connection.on('open', function(){ });, но проблема все еще там. Я могу сохранить только первую запись, а второй - сохранить.

Каким будет решение этой проблемы?

+1

Тот же самый «stuCode» второго документа как первый документ? – zangw

+0

@zangw - вы имеете в виду ....... . дублирующий ключ?) –

+0

@MartinJames, да, я имею в виду дубликат 'stuCode' ... – zangw

ответ

1

Перед тем, как у меня был stuCode как код и _код, и потребовалось, чтобы оно было уникальным. Возможно, это может вызвать проблемы.

Да, этот старый индекс на code, вероятно, все еще существует, разве вы не можете его отбросить?

+0

Спасибо. Оно работает. Только одна заметка для других людей, которые будут искать эту проблему. Вот как удалить индексы: 'Student.collection.dropAllIndexes (function (err, results) {...});' – Astagron