2017-04-03 40 views
1

我試圖讓一個模式兩個獨立的唯一約束工作,但...貓鼬 - 獨立唯一約束

var Game = new Schema({ 
    name: String, 
    shortName: String 
}) 
Game.index({ name: 1, shortName: 1 }, { unique: true }) 

...總是創建一個複合索引,這使得下表有效:

name: "Foo", shortName: "Bar"; 
name: "Foo", shortName: "Foo"; 

有沒有辦法讓這些獨特的限制獨立?

回答

0

unique index documentation

您也可以強制執行複合索引的唯一約束。這些 索引強制索引關鍵字的組合和各個關鍵碼的而不是 的唯一性。

因此要實現這一點,你就需要在每個字段創建唯一索引,這樣的:

​​
+0

'變種遊戲=新模式({名稱:{類型:字符串,唯一性:真實},shortName:{type:String,unique:true}})'像這樣? – Pat

+0

@Pat是的 – felix