没有保持猫鼬唯一性约束

时间:2014-01-20 18:11:27

标签: node.js mongodb express mongoose

我有以下用户架构:

var userSchema = new Schema({
    username: {
        type: String,
        validate: usernameValidator,
        unique: true,
        required: true
    }, 
    password: {
        type: String,
        required: true
    }
});

其中usernameValidator只是检查最大长度。

对于用户名,我设置了unique: true。但是,如果我运行一个测试脚本,用户名'test'插入用户,那么每次运行脚本时都会插入它。这是测试脚本:

var user = new User({
    username: 'test',
    password: 'password',
});

user.save();

为什么会这样?如何应用唯一性约束?

修改 db.users.getIndexes()的输出是:

[
  {
    "v" : 1,
    "key" : {
      "_id" : 1
    },
    "ns" : "dbName.users",
    "name" : "_id_"
  }
]

0 个答案:

没有答案