MongoDB E11000使用angular-fullstack生成器在mydb.testlookup上重复键错误。$ name dup key:{:dummy123}在meanstack中

时间:2016-02-16 08:10:02

标签: mongodb angular-fullstack

您好我正在尝试使用angular-fullstack生成器创建一个简单的项目我在Windows中运行我的MongoDB和nodejs,所有安装和运行完美。我创建了一个模式如下

'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 个答案:

答案 0 :(得分:1)

我遇到了同样的问题但我通过删除索引解决了这个问题。实际上,当生成angular-fullstack应用程序时,它将创建Thing模式,将有name字段,当您创建另一个具有相同名称字段的模式时,它将创建Index。如果您输入相同的数据,例如您的情况" dummy123"在两个模式的名称字段中,它将给出重复的键输入索引错误 - E11000

如果您在Windows中,请解决此问题 Gotto Mongo Shell

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

您将找到名称作为索引,只需删除并重新创建

                     db.mydb.dropIndex( "name")

现在,您使用grunt服务重新启动节点应用程序,您将不会再次遇到此问题