Node.js Mongoose模式验证无效

Node.js Mongoose模式验证无效,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,这是我的模型文件。我想在模式上创建验证,但这对我不起作用。我不知道为什么,因为这是标准实现。如果我错了,任何人都可以建议我 'use strict'; var mongoose = require('mongoose'); var UserSchema = mongoose.Schema({ username: { type: String, lowercase: true// My value is not converted into lowerca

这是我的模型文件。我想在模式上创建验证,但这对我不起作用。我不知道为什么,因为这是标准实现。如果我错了,任何人都可以建议我

'use strict';
var mongoose = require('mongoose');

var UserSchema = mongoose.Schema({
    username: {
        type: String,
        lowercase: true// My value is not converted into lowercase
    }
});

var User = module.exports = mongoose.model('User', UserSchema, 'User');

router.post('/putname, function(req, res){
  var user = new User({
    username: req.body.username
  });
  user.save(function(err, data){
    if(error) { console.log(error) }
    else { console.log('Entry Inserted Successfully') }
  });
});

您缺少
mongoose.Schema
之前的
new
。您只能在
mongoose.model

'use strict';
var mongoose = require('mongoose');

var UserSchema = new mongoose.Schema({
    username: {
        type: String,
        lowercase: true 
    }
});

var User = module.exports = mongoose.model('User', UserSchema);

router.post('/putname, function(req, res){
  var user = new User({
    username: req.body.username
  });
  user.save(function(err, data){
    if(error) { console.log(error) }
    else { console.log('Entry Inserted Successfully') }
  });
});
您还可以将代码组织为:

'use strict';
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var UserSchema = new Schema({ ... });

我照你说的做了。还有我的条目输入大写字母的话,意思是小写:真的不行。我在mongoose.Schema之前添加了新的。但问题和我们一样earlier@Abhay记录是否插入到数据库中?是。有了大写字母entry,我尝试了使用相同的代码,我得到了小写字母“{”{”{u id:“5AB261D88D6DE2D2E3CFACD”,“更新时间:”“2018-03-21T13:44:10.231Z”,“创建时间:”“2018-03-21T13:41:49.697Z”,“一些id:“5a82860aba42f0401c321111”,“名称1:“aaa”,“名称2:“aaa”,“名称”:1`@Abhay我的版本是“猫鼬”:“4.9.3”这对我还是不起作用。。我不知道为什么。我的猫鼬版本是4.13.6