2017-04-03 61 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