您好我正在尝试使用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
可能导致此错误的原因是什么?
答案 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服务重新启动节点应用程序,您将不会再次遇到此问题