我使用Mongoose / MongoDb创建唯一的索引有一个问题,不能让它工作.当我设置了唯一的索引时,我可以添加两个具有相同属性值的文档.
我已经尝试了我能想到的一切 – 重新启动(所有)改变语法等
码
添加>>
这是我用来保存实体的方法:
create : function(entity,definition,successFn,errorFn){ var model = mongoose.model(entity); newModel = new model(definition); newModel.save(function(error) { if(error){ if(!errorFn){ throw error; } errorFn(newModel); return; } successFn(newModel); }); }...
<<
var Something = new Schema({ objectId : ObjectId,name : { type : String,index: { unique: true }},url : { type : String,...etc mongoose.model('Something',Something);
蒙古产量
[conn1] insert xxxxx.agencies 1526ms [conn1] building new index on { name: 1 } for xxxxx.agencies [conn1] insert xxxxx.system.indexes exception 11000 E11000 duplicate key error index: xxxxx.agencies.$name_1 dup key: { : "something" } 4ms [conn1] building new index on { url: 1 } for xxxxx.agencies [conn1] insert xxxxx.system.indexes exception 11000 E11000 duplicate key error index: xxxxx.agencies.$url_1 dup key: { : "http://www.something.com" } 1ms
当我检查MongoHub时,索引不会出现,所以它们看起来不像它们被创建.
这是this question的重复,但它没有一个适用于我的答案.