Node.js 我的模式没有';t在插入数据时按预期运行

Node.js 我的模式没有';t在插入数据时按预期运行,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,这是我的模式代码 var Schema = mongoose.Schema; var UserSchema = new mongoose.Schema({ username: { type: String, required: true, unique: true }, phone:{ type: String, required: true }, pas

这是我的模式代码

var Schema       = mongoose.Schema;

var UserSchema   = new mongoose.Schema({
    username: {
        type: String,
        required: true,
        unique: true
      },
    phone:{
        type: String,
        required: true
    },
    password: {
        type: String,
        required: true
    },
    createdAt: {type: Date, default: Date.now}
});
我正在插入数据,如下所示(在另一个文件中)

这里的问题是,每当我注册新帐户时,即使用户名已经存在于我的数据库中,它也会被成功添加

我将属性设置为
unique:true
,但出于某种原因,它似乎不起作用


我做错了什么?

当模型被称为
注册时,为什么您的模式被称为
UserSchema
?@robertklep抱歉,我忘了提到第二部分在另一个文件中,现在将更新问题您如何创建模型?您是否使用MongoDB shell检查了
用户名
属性是否有唯一索引?@robertklep是的,我检查了它正在工作的功能,当我从postman获得数据时,我可以看到成功存储的用户数据,当您使用MongoDB shell查询数据库时,有多个文档具有相同的用户名?
router.route('/register')
.post(function(req, res) {
    var registeration = new Registeration({
        username: req.body.username,
        phone: req.body.phone,
        password: req.body.password
    });

    registeration.save(function(err) {
        if (err){
            return res.json({ success: false, message: 'That username already exists.'});
        }
        res.json({ success: true, message: 'Successfully created new user.' });
    })
});