猫鼬 - 独立的独特约束

时间:2017-04-03 06:53:33

标签: node.js mongodb mongoose unique

我试图在一个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";

有没有办法让这些独特的约束独立?

1 个答案:

答案 0 :(得分:1)

来自unique index documentation

  

您还可以对复合索引强制执行唯一约束。这些   索引强制执行索引键组合的唯一性,   单独使用任一键。

所以要实现这一目标,您需要在每个字段上创建一个唯一索引,如下所示:

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