MongoDB - 更改模型后允许重复的重复键错误

时间:2016-06-09 09:03:14

标签: mongodb

我正在使用平均堆栈。在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和应用程序。

但是,提交时仍然会出现重复键错误。

谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:1)

您可能已为personName字段创建了索引。 删除与字段personName关联的索引并尝试,它将起作用。

原因:

当状态中的字段personName"唯一:true"索引会很好,现在删除状态"唯一:真"。如果我们尝试输入一个记录,该记录具有DB中已存在的personName,则DB将抛出Duplicate键错误。