nodejs操作mongodb之五(数据校验)
2021/6/15 19:23:29
本文主要是介绍nodejs操作mongodb之五(数据校验),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、数据校验的介绍
在
mysql
数据库层面中常见的数据校验,非空字段
二、mongoose
中自带的数据校验
- 1、
required
表示这个数据必须传入 - 2、
max
用于Number
类型数据,允许的最大值 - 3、
min
用于Number
类型数据,允许的最小值 - 4、
enum
枚举类型,要去数据必须满足枚举值里面的其中一个 - 5、
match
增加数据必须符合match
的正则规则 - 6、
maxlength
最大长度 - 7、
minlength
最小长度
三、在schema
中使用数据校验
-
1、定义
schema
const mongoose = require('./db'); const userSchema = mongoose.Schema({ name: { type: String, require: [true, '此项为必填内容'], // 需要自己去写获取其中的错误 minlength: [3, '名字最小长度为3'], maxlength: [10, '名字最长为10'], }, age: { type: Number, max: 150, min: 0, }, status: { type: String, enum: ['0', '1', '2'] }, phone: { type: Number, match: /^1[3456789]\d{9}$/ } }) module.exports = mongoose.model('User', userSchema, 'user');
-
2、增加数据的时候数据校验
const UserModel = require('./model/user'); const user = new UserModel({ name: '李四', age: 20, status: 3, phone: 181706066 }); user.save((err) => { if (err) { console.log('-------遍历全部的错误开始---------') Object.keys(err.errors).forEach(item => { console.log(err.errors[item].message); }) console.log('-------遍历全部的错误结束---------') } else { console.log('增加数据成功'); } });
四、自定义校验器
-
1、在
schema
中定义const mongoose = require('./db'); const userSchema = mongoose.Schema({ address: { type: String, require: true, // 方式一:简单定义 // 自定义的验证器,如果通过验证返回 true,没有通过则返回 false // validate: function (desc) { // return desc.length >= 10; // }, // 方式二:需要定义错误提示的方式 validate: { validator: function(desc) { return desc.length >= 10; }, message: '长度必须大于10', } } }) module.exports = mongoose.model('User', userSchema, 'user');
-
2、校验和上面的一样的
这篇关于nodejs操作mongodb之五(数据校验)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26怎么使用 nvm(Node Version Manager)下载并安装指定版本的 Node.js?-icode9专业技术文章分享
- 2024-11-26Vue CLI资料入门教程
- 2024-11-26Vue CLI资料入门教程
- 2024-11-26Vue3+Vite资料:新手入门教程详解
- 2024-11-26Vue3阿里系UI组件资料入门教程
- 2024-11-26Vue3的阿里系UI组件资料入门指南
- 2024-11-26Vue3公共组件资料详解与实战教程
- 2024-11-26Vue3公共组件资料详解与实战教程
- 2024-11-26Vue3核心功能响应式变量资料入门教程
- 2024-11-26Vue3核心功能响应式变量资料详解