2017-01-11 2 views
0

Когда я пытаюсь вставить новую запись, я получаю ошибку forrlowing, и фактически имя пользователя само по себе не является частью моей модели, но я не уверен, почему я я получаю эту ошибку, может кто-нибудь угадать ошибку, пожалуйста.MongoError: insertDocument :: вызвано :: 11000 E11000 дубликат ключевой индекс ошибки

Моя ошибка,

MongoError: insertDocument :: caused by :: 11000 E11000 duplicate key error index: project1.students.$username_1 dup key: { : null } 

Моя коллекция,

var StudentSchema = new Schema({ 
    title: { type: String, default: '' }, 
    first_name: { type: String, default: '' }, 
    last_name: { type: String, default: '' }, 
    email: { type: String, default: '' }, 
    display_name: { 
    type: String, 
    trim: true 
    }, 
    username: { 
    type: String, 
    validate: [validateUsername, 'Please enter a valid username: 3+ characters long, non restricted word, characters "_-.", no consecutive dots, does not begin or end with dots, letters a-z and numbers 0-9.'], 
    lowercase: true, 
    trim: true 
    }, 
}); 

Мои индексы,

[ 
    { 
     "v" : 1, 
     "key" : { 
      "_id" : 1 
     }, 
     "name" : "_id_", 
     "ns" : "project1.students" 
    }, 
    { 
     "v" : 1, 
     "unique" : true, 
     "key" : { 
      "username" : 1 
     }, 
     "name" : "username_1", 
     "ns" : "project1.students", 
     "background" : true 
    } 
] 

ответ

1

Я думаю, что ваше имя пользователя индексируется и, следовательно, всякий раз, когда вы пытаетесь вставить документ с то же имя пользователя появляется. Индексы должны быть уникальными. И если имя пользователя не является частью вашей модели, вы можете рассказать о своей модели.

+0

в моей модели у меня нет поля имени пользователя – MMR

+0

вы можете сказать мне, что именно ваша коллекция и что вы отправляете? –

+0

отредактировал мой код. – MMR