一、Mongoose检验参数

required : 表示这个数据必须传入max: 用于 Number 类型数据, 最大值

min: 用于 Number 类型数据, 最小值

enum:枚举类型, 要求数据必须满足枚举值 enum: ['0', '1', '2']

match:增加的数据必须符合 match(正则) 的规则

maxlength: 最大值

minlength: 最小值

var UserSchema = new mongoose.Schema({
  name:{
    type:String,
    required: true,
  },age: {
    type: Number,
    // 是否必须的校验器
    required: true,
    // 数字类型的最大值校验器
    max: 120,
    // 数字类型的最小值校验器
    min: 0
  },
  status: {
    type: String,
    // 设置字符串的可选值
    enum: ['0', '1', '2']
  },
  phone:{
    type:Number,
    match: /^\d{11}$/
  },
  desc: {
    type: String,
    maxlength:20,
    minlength:10
  }
});

二、Mongoose自定义检验器

validate函数

var UserSchema = new mongoose.Schema({
  name:{
    type:String,
    required: true,
  },
  age: {
    type: Number,
    // 是否必须的校验器
    required: true,
    // 数字类型的最大值校验器max: 120,
    // 数字类型的最小值校验器
    min: 0
  },
  status: {
    type: String,
    // 设置字符串的可选值
    enum: ['0', '1', '2']
  },
  phone:{
    type:Number,
    match: /^\d{11}$/
  },
  desc: {
    type: String,
    // 自定义的验证器, 如果通过验证返回 true, 没有通过则返回 false
    validate: function(desc) {
      return desc.length >= 10;
    }
  }
});

 

MongoDB学习day09--Mongoose数据校验的更多相关文章

  1. Mongoose 数据校验

    什么是mongoose数据校验 用户通过mongoose给mongodb数据库增加数据的时候,对数据的合法性进行的验证 mongoose里面定义Schema:字段类型,修饰符.默认参数 .数据校验都是 ...

  2. Struts2学习笔记(九)——数据校验

    Struts2的数据校验属于服务器端校验,Struts2 支持校验方式 : 手动校验(代码校验) :在服务器端通过编写java代码,完成数据校验 自动校验(配置校验) :XML配置校验(主流) 和 注 ...

  3. Struts2学习---简单的数据校验、访问Web元素

    1.简单的数据校验 在action里面我们已经给出了一个数据校验: public String execute() { if(user.getUsername().equals("usern ...

  4. JavaScript学习一之数据校验

    JavaScript页面进行数据校验 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  5. MongoDB学习之mongoose

    MongoDB介绍: MongoDB是基于Javascript语言的数据库,存储格式是JSON,而Node也是基于JavaScript的环境(库),所以node和mongoDB的搭配能减少因为数据转换 ...

  6. MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本

    介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一 ...

  7. Symfony2学习笔记之数据校验

    校验在web应用程序中是一个常见的任务.数据输入到表单需要被校验.数据在被写入数据库之前或者传入一个webservice时也需要被校验. Symfony2 配备了一个Validator 组件,它让校验 ...

  8. Java学习笔记:数据校验

    在后台开发过程中,需要对参数进行校验. validation bean 是基于JSR-303标准开发出来的,使用注解的方式实现,是一套规范,可以实现参数的校验. Hibernate Validator ...

  9. mongodb学习之:数据库命令以及固定集合

    如何我们要删除一个集合,可以采用db.test.drop()的方式,其实在这背后,这个函数运行的是drop命令.可以用runCommand达到同样的效果. 我们首先新建一个集合作为测试使用: > ...

  10. mongodb 学习笔记 07 -- 数据备份、恢复

    mongoexport 导出json或者csv格式 mongoimport 导入json或者csv mongodump 导出二进制bson结构数据以及索引信息 mongorestore 导入二进制文件 ...

随机推荐

  1. sublime text3前端开发插件配置以及使用(个人喜爱)

    第一步下载软件接着Ctrl +~ (回车)把下面安装包管理添加到sublimeimport urllib.request,os; pf = 'Package Control.sublime-packa ...

  2. COGS 2685. 迷妹

    ★   输入文件:fans.in   输出文件:fans.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] 小钟.小皓和小曦都是著名偶像派OI选手,他们都有很多迷妹. 现 ...

  3. ssh 非root用户互信

    之所以要把这个记录下来 是因为它的确和root用户不一样root用户 不需要改动什么权限问题  只要生成私钥/公钥对 即可 但是一样的操作在普通用户上就出了问题了 折腾了老半天 ssh-keygen ...

  4. C/C++语言:科学计数法

    主要用来表示浮点数,表达方便 浮点数的科学计数,由三个部分组成: a + E + b a:由一个浮点数组成,如果写成整数,编译器会自动转化为浮点数: E:可以大写E,也可以小写e: b:使用一个十进制 ...

  5. 【传智播客】Libevent学习笔记(二):创建event_base

    目录 00. 目录 01. 简介 02. 创建默认的event_base 03. 创建复杂的event_base 3.1 event_config_new函数 3.2 event_base_new_w ...

  6. 【2019-5-26】python:字典、常用字符串处理方法及文件操作

    一.数据类型:字典 1.字典: 1.1定义字典:dict={'key':'value'} 1.2字典与列表相比,字典取值快,可直接找到key 1.3字典是无序的,不能根据顺序取值 1.4多个元素用逗号 ...

  7. js实现返回上一页功能

    大家在做 "返回上一页" 这个功能的时候 都是用history.go(-1);来实现的 但这段代码只是简单的使用浏览器的后退功能 从浏览器缓存中取出页面来显示 但我们绝大部分情况都 ...

  8. (2) OpenSSL命令

    openssl命令的格式是"openssl command command-options args",command部分有很多种命令,这些命令需要依赖于openssl命令才能执行 ...

  9. 剑指Offer(书):二叉树的下一个节点

    题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 分析:若一个节点有右子树,那么他的下一个节点就是他右子树中 ...

  10. Centos6.5安装Nexus及安装时的一些错误

    注意:此篇博文未有配置部分,有需求的同学只能自行寻找了-- 1.下载: https://www.sonatype.com/download-oss-sonatype 2.官方推荐安装在/opt目录下 ...