我试图在一个Schema上获得两个独立的唯一约束,但是......
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 :(得分:1)
您还可以对复合索引强制执行唯一约束。这些 索引强制执行索引键组合的唯一性,不 单独使用任一键。
所以要实现这一目标,您需要在每个字段上创建一个唯一索引,如下所示:
var Game = new Schema(
{
name: { type: String, unique: true },
shortName: { type: String, unique: true }
}
)