使用mongoose验证整数值

Mai*_*uiz 15 mongoose mongodb node.js

我正在使用mongoose,我需要定义如下的模式:

const QuestionSchema = new Schema({
    text: {
        type: String,
        required: true
    },
    number: {
        type: Number,
        required: true,
        unique: true
    }
});
Run Code Online (Sandbox Code Playgroud)

我需要验证该number字段是一个整数值.我见过几个插件,例如:mongoose-integer:

const validateInteger = require('mongoose-integer');
const QuestionSchema = new Schema({
    text: {
        type: String,
        required: true
    },
    number: {
        type: Number,
        required: true,
        unique: true,
        integer: true
    }
});
QuestionSchema.plugin(validateInteger);
Run Code Online (Sandbox Code Playgroud)

但我不想使用任何第三方库.还有其他方法吗?提前致谢.

rob*_*lep 45

您可以添加自定义的验证number:

number: {
  type     : Number,
  required : true,
  unique   : true,
  validate : {
    validator : Number.isInteger,
    message   : '{VALUE} is not an integer value'
  }
}
Run Code Online (Sandbox Code Playgroud)

  • Upvoted只是因为这是如此好知道,阅读文档是如此无聊....甚至没有这个问题! (2认同)