我正在使用平均堆栈。在Mongoose中,我定义了一个具有以下属性的模型:
var personSchema = new mongoose.Schema({
personName:{ type: String, unique: true, required: true, index:true },
start: { type: Date},
end: { type: Date }
});
然而,在测试时我意识到我犯了一个错误,而且personName不应该是唯一的。我删除了unique: true
属性并重新启动了MongoDB和应用程序。
但是,提交时仍然会出现重复键错误。
谁能告诉我我做错了什么?
答案 0 :(得分:1)
您可能已为personName字段创建了索引。 删除与字段personName关联的索引并尝试,它将起作用。
原因:
当状态中的字段personName"唯一:true"索引会很好,现在删除状态"唯一:真"。如果我们尝试输入一个记录,该记录具有DB中已存在的personName,则DB将抛出Duplicate键错误。