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

MongoDB E11000 duplicate key error on mydb.testlookup.$name dup key:{:dummy123} in meanstack using angular-fullstack generator

你好我正在尝试使用 angular-fullstack 生成器创建一个简单的项目我有 运行 我的 MongoDB 和 windows 中的 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 作为操作系统 节点 4.xx Mongodb3.x

可能导致此错误的原因是什么?

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

如果你在windows 得 Mongo Shell

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

您会发现名称作为索引,只需删除并重新创建它

                     db.mydb.dropIndex( "name")

现在您使用 grunt serve 重新启动您的节点应用程序,您将不会再遇到该问题