在创建集合规则的时候呢,我们可以设置当前字段的验证规则,验证失败就输入插入失败

const userSchema = new mongoose.Schema({name:String,
})

之前我们的规则是这样写的,现在为了设置验证规则,将规则放入对象中。

一,常见的验证规则

const userSchema = new mongoose.Schema({name:{type:String,require:[true,'请输入名字'],  //name 这个属性是必填属性,不可为空minlength:[2,'字符串长度不能小于2'], //name的属性值最小长度为2minlength:[7,'字符串度不能小于2'],  //name的属性值最大长度为2trim:true            //会自动把子符串两边的空格清除掉   }
})

二,针对数值型的验证规则:min,max

age:{type:Number,min:20,   //数值型最小是20max:60,   //数值型最大是60default:40    //如果不传入数值,则显示默认值40}

三,有时可以用数组枚举的方式限制传入的数据

category:{type:String,enum:['html','css','js','node']}
category:{type:String,enum:{value:['html','css','js','node'],message:'分类名称要在一定的范围内'}},

四,可以自定义验证规则利用validate属性

author:{type:String,validate:{validator: v=>{//返回布尔值//true验证成功//false验证失败//v 要验证的值return v && v.length >4  //有传入值,且长度大于4才返回true},//自定义错误信息message:'传入的值不符合检测规则'}}

MongoDB学习(黑马教程)-5-数据库MongoDB的验证相关推荐

  1. 【MySQL】黑马教程MySQL数据库 MySQL基础(一)

    文章目录 [MySQL]黑马教程MySQL数据库 | MySQL基础(一) MySQL启动 MySQL客户端连接 MySQL数据模型 SQL SQL分类 DDL 表操作-查询 表操作-创建 表操作-数 ...

  2. Mongodb学习总结(2)——MongoDB与MySQL区别及其使用场景对比

    对于只有SQL背景的人来说,想要深入研究NoSQL似乎是一个艰巨的任务,MySQL与MongoDB都是开源常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数 ...

  3. MongoDB 学习笔记四 C#调用MongoDB

    网址:http://blog.csdn.net/xundh/article/details/49449467 驱动 下载  https://github.com/mongodb/mongo-cshar ...

  4. [linux][MongoDB] mongodb学习(一):MongoDB安装、管理工具、

    参考原文:http://www.cnblogs.com/kaituorensheng/p/5118226.html linux安装完美实现! 1. mongoDB安装.启动.关闭 1.1 下载安装包 ...

  5. 【MySQL】黑马教程MySQL数据库 | 学习记录笔记

    MySQL概述 MySQL介绍 MySQL是一种关系型数据库(RDBMS),就是建立在关系模型基础上,由多张相互连接的二维表组成的数据库.像Excel表.特点:使用表存储数据,格式统一,便于维护:使用 ...

  6. mongodb3.2 java,MongoDB学习笔记:(3)、mongodb 3.2在java环境中的简单CRUD

    首先新建一个java project项目,去下载mongo-java-driver-3.2.2.jar包.build path导入junit需要的jar包.另外运行代码前先要启动mongod 服务.下 ...

  7. 【MongoDB学习笔记7】深入MongoDB的删除(remove/drop)操作

    先看集合post中文档信息: > db.post.find(); { "_id" : ObjectId("54a51cfd7f46906f81b7adcd" ...

  8. 非关系型数据库MongoDB学习笔记

    MongoDB学习笔记   --周灿 创建数据库 use "databasename" 查看数据库 show dbs 给指定数据库添加集合和插入记录 db.集合名.insert({ ...

  9. MongoDB学习系列 -- 数据库、集合、文档的CURD

    前面一篇章节我们已经对MongoDB的基本概念有了一个大概的了解,从今天开始,我们将进行更细粒度的学习,首先就是数据库.集合.文档的CURD操作. 为了便于操作,减少学习难度,我们这里使用javasc ...

  10. MongoDB学习札记第六篇之主从复制

    mongo系列文章请看http://www.codefrom.com/p/mongodb 环境准备: ubuntu12.0.4 mongodb3.0.3 主从复制是MongoDB中最常见的复制方式.这 ...

最新文章

  1. python向量化编程_向量化编程思维。
  2. java jdbc连接数据库的设计
  3. 元神一直显示连接服务器失败,原神连接服务器失败是什么情况-提示连接服务器失败处理办法-去秀手游网...
  4. Marketing Cloud API消费entity unsupported format错误消息的处理
  5. 完成css的切图 图片任意,css切图是什么意思
  6. 如何用代码编写四则运算?
  7. 番茄花园GhostXP sp3快速装机版2012.03
  8. 宝马 android手机同步,BMW将发布无线安卓互联系统,CarPlay终于不再一家独大!
  9. iTextSharp 添加图片
  10. js 百度坐标和火星坐标的转换
  11. 河南计算机对口升学题,河南省计算机对口升学专基模拟试题(四)[1]
  12. 你真的熟练运用 HTML5 了吗,这10 个酷炫的 H5 特性你会几个?
  13. Marlin固件的欢迎界面
  14. educoder Git进阶之合并远程分支、rebase、储藏
  15. Windows防火墙使用
  16. ML之XGBoost:《XGBoost: A Scalable Tree Boosting System》的翻译与解读
  17. ad10捕捉pad中点_【中考专题】中点模型(通关篇)—三种方法,助你通关!
  18. mysql update后可以跟两个表_update后可接两张表吗,
  19. 上帝视角实现 引用大神,不是原创
  20. 智能聊天机器人微信小程序

热门文章

  1. 207.课程表(力扣leetcode) 博主可答疑该问题
  2. 校园导航系统(查询各景点信息,多个建筑点的最佳访问路径、任意点的建筑查询) 超详细!! 博主可答疑,代码免费给
  3. 手机辅助java脚本_android 手机一个辅助阅读工具
  4. Web jsp开发学习——Servlet提交表单时用法
  5. Codeforces 145E Lucky Queries 线段树
  6. Python3.2官方文档翻译--标准库概览(一)
  7. JSP指令、动作和对象
  8. iOS学习之单例模式
  9. 页面回发(PostBack)后,滚动条位置保持不变
  10. Mysql-DML操作