Node.js 已删除MongoDB中的唯一约束,请使用相同的名称重新创建
在开始我的项目的过程中,我了解了我如何在mongoose中将modal定义为唯一的 比如说: 某一天之后,出现了一种情况,我删除了唯一密钥,现在我的模型是:Node.js 已删除MongoDB中的唯一约束,请使用相同的名称重新创建,node.js,mongodb,Node.js,Mongodb,在开始我的项目的过程中,我了解了我如何在mongoose中将modal定义为唯一的 比如说: 某一天之后,出现了一种情况,我删除了唯一密钥,现在我的模型是: var CategorySchema = new Schema({ categoryName:String,, discription:String }); 现在真正的问题是,当我发布并插入文档时,它仍然会创建categoryName的索引 想知道为什么仍然会出现这种情况,以及如何在生产中从这些错误
var CategorySchema = new Schema({
categoryName:String,,
discription:String
});
现在真正的问题是,当我发布并插入文档时,它仍然会创建categoryName的索引
想知道为什么仍然会出现这种情况,以及如何在生产中从这些错误中恢复。是。因为索引仍然存在于MongoDB中。仅仅从mongoose模型中删除并不会从数据库中删除唯一索引。您必须删除索引。@hiren每次删除索引都不是一个永久的解决方案,任何其他选项都不能用于在进入livemongoose之前重置索引。连接[0]。集合(“collectionname”)。dropIndex(“propertyName”,callback)。我想人们通常不会频繁分配和删除删除删除索引。在开发中,如果要删除,可以调用上述代码。@hiren您是对的,索引不经常分配和删除。但问题是,一旦开发人员创建了索引,他们就无法永久删除索引,他们会花时间删除索引。它需要一个选项,即contastraint delete,删除相同的引用。
var CategorySchema = new Schema({
categoryName:String,,
discription:String
});