MongoDB E11000 Ошибка дублированного ключа в mydb.testlookup.$ Name dup key:{:dummy123} в стеках с использованием генератора углового полного стека

Привет, я пытаюсь создать простой проект с использованием генератора angular-fullstack. У меня работает MongoDB и nodejs в Windows, все установлено и работает отлично. Я создал одну схему следующим образом

'use strict';

var mongoose = require('mongoose'),
    Schema = mongoose.Schema;

var TestlookupSchema = new Schema({
  name: String,
  ccode: String,
  description: String,
  info: String,
  active: Boolean
});

module.exports = mongoose.model('Testlookup', TestlookupSchema);

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

    E11000 duplicate key error index:  mydb.testlookup.$name dup key: {:dummy123}

Я использую Windows 7 в качестве операционной системы NodeJS 4.xx Mongodb 3.x

Что может быть причиной этой ошибки?

1 ответ

Решение

У меня та же проблема, но я решил ее, удалив индекс. На самом деле, когда генерируется приложение angular-fullstack, оно создаст схему Thing, там будет поле имени, а когда вы создадите другую схему с таким же полем имени, она создаст Index. Если вы введете те же данные, что и в вашем случае "dummy123", в поле имени для обеих схем, это приведет к ошибке индексации ввода дублированного ключа - E11000

Решение для этого, если вы находитесь в Windows Gotto Mongo Shell

    command prompt - mongo.exe 
                     use mydb
                     db.mydb.getIndexes()

Вы найдете имя в качестве индекса просто перетащите и воссоздать его

                     db.mydb.dropIndex( "name")

Теперь вы перезапускаете свое приложение для узлов, используя grunt

Другие вопросы по тегам