MongoDB学习day09--Mongoose数据校验
一、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数据校验的更多相关文章
- Mongoose 数据校验
什么是mongoose数据校验 用户通过mongoose给mongodb数据库增加数据的时候,对数据的合法性进行的验证 mongoose里面定义Schema:字段类型,修饰符.默认参数 .数据校验都是 ...
- Struts2学习笔记(九)——数据校验
Struts2的数据校验属于服务器端校验,Struts2 支持校验方式 : 手动校验(代码校验) :在服务器端通过编写java代码,完成数据校验 自动校验(配置校验) :XML配置校验(主流) 和 注 ...
- Struts2学习---简单的数据校验、访问Web元素
1.简单的数据校验 在action里面我们已经给出了一个数据校验: public String execute() { if(user.getUsername().equals("usern ...
- JavaScript学习一之数据校验
JavaScript页面进行数据校验 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- MongoDB学习之mongoose
MongoDB介绍: MongoDB是基于Javascript语言的数据库,存储格式是JSON,而Node也是基于JavaScript的环境(库),所以node和mongoDB的搭配能减少因为数据转换 ...
- MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本
介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一 ...
- Symfony2学习笔记之数据校验
校验在web应用程序中是一个常见的任务.数据输入到表单需要被校验.数据在被写入数据库之前或者传入一个webservice时也需要被校验. Symfony2 配备了一个Validator 组件,它让校验 ...
- Java学习笔记:数据校验
在后台开发过程中,需要对参数进行校验. validation bean 是基于JSR-303标准开发出来的,使用注解的方式实现,是一套规范,可以实现参数的校验. Hibernate Validator ...
- mongodb学习之:数据库命令以及固定集合
如何我们要删除一个集合,可以采用db.test.drop()的方式,其实在这背后,这个函数运行的是drop命令.可以用runCommand达到同样的效果. 我们首先新建一个集合作为测试使用: > ...
- mongodb 学习笔记 07 -- 数据备份、恢复
mongoexport 导出json或者csv格式 mongoimport 导入json或者csv mongodump 导出二进制bson结构数据以及索引信息 mongorestore 导入二进制文件 ...
随机推荐
- Oracle AWR报告的生成
生成AWR报告需要dbms_workload_repository包的权限. 一.以oracle用户登录到数据库服务器 二.进入SQLPLUS 三.执行脚本 @?/rdbms/admin/awrrpt ...
- Cognos添加关联字段
(这是另一个表)
- 如何使用capedit分割数据包文件
wireshark是一个网络数据包的分析工具,主要用来捕获网卡上的数据包并显示数据包的详细内容.在处理一些大的数据包文件时,如果直接用wireshark图形工具打开一些大文件的数据包会出现响应慢甚至没 ...
- 微信小程序开发系列一:微信小程序的申请和开发环境的搭建
我最近也刚刚开始微信小程序的开发,想把我自学的一些心得写出来分享给大家. 这是第一篇,从零开始学习微信小程序开发.主要是小程序的注册和开发环境的搭建. 首先我们要在下列网址申请一个属于自己的微信小程序 ...
- react中的jsx详细理解
这是官网上的一个简单的例子 const name = 'Josh Perez'; const element = <h1>Hello, {name}</h1>; ReactDO ...
- Open Cascade创建自己的MFC文档程序
项目初始设置在Visual studio中创建一个单文档MFC项目(本例以MFCTest为名称): 在项目属性的VC++页面设置包含目录.库目录,在链接器的输入中添加OCC库目录下的所有.lib文件名 ...
- postman使用--断言
前戏 在我们测接口的时候,没有断言的接口都是耍流氓,因为做自动化的时候,不加断言我们不知道这个接口是执行成功了还是执行失败了,所以断言是做接口自动化必须的 断言 断言就是我们预期值和接口返回值是否一样 ...
- List去重复数据
for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - 1 ; j > i; j -- ...
- linux秘钥分发
秘钥分发 ssh-copy-id -i /root/.ssh/id_rsa.pub "-p 9000 root@192.168.1.100" 传送文件 scp -P9000 -rp ...
- 【问题探索日志】python 函数优化
# 事情是这样的,我写的一个程序帧率上不去. 然后发现了一个疑似有问题的地方,如下 def around(x,y): around_dict = {(i,j) for i in range(-1,2) ...