MongoDB学习(黑马教程)-6-数据库MongoDB的验证时的错误信息的获取
一,当只有一个文档输入不符合规则时的错误信息
const mongoose = require('mongoose')
mongoose.connect('mongodb://localhost/playground',{ useNewUrlParser: true,useUnifiedTopology: true } ).then(()=>console.log('数据库连接成功')).catch(err=>console.log('数据库连接失败'))//创建集合规则,传入的对象里面是自定义的数据规则
const userSchema = new mongoose.Schema({name:{type:String,require:[true,'请输入名字'], //name 这个属性是必填属性,不可为空minlength:[2,'字符串长度不能小于2'], //name的属性值最小长度为2minlength:[7,'字符串度不能小于2'], //name的属性值最大长度为2trim:true //会自动把子符串两边的空格清除掉 },age:{type:Number,min:20, //数值型最小是20max:60, //数值型最大是60default:40 //如果不传入数值,则显示默认值40},category:{type:String,enum:['html','css','js','node']},author:{type:String,validate:{validator: v=>{//返回布尔值//true验证成功//false验证失败//v 要验证的值return v && v.length >4},//自定义错误信息message:'传入的值不符合检测规则'}}
})
//使用规则集创建集合,数据库中已经有Users这个数据库了。
const Post = mongoose.model('Users',userSchema)
Post.create({title:'aa',age:60,category:'html',author:'bd'}).then(result=>console.log(result)).catch(error=>console.log(error))
错误信息放置在Error对象下的errors属性里面。
二,当有多个文档输入不符合规则时的错误信息
//使用规则集创建集合,数据库中已经有Users这个数据库了。
const Post = mongoose.model('Users',userSchema)
Post.create({title:'aa',age:60,category:'ht',author:'bd'}).then(result=>console.log(result)).catch(error=>console.log(error))
这里面出现了两条错误信息,接下来看怎么获取他们:
const Post = mongoose.model('Users',userSchema)
Post.create({title:'aa',age:60,category:'ht',author:'bd'}).then(result=>console.log(result)).catch(error=>{const err=error.errors//接收所有的报错,每个文档具体的报错信息却是在err对象下的每个元素//里面的message上存着for(var attr in err){console.log(err[attr]['message'])}})
MongoDB学习(黑马教程)-6-数据库MongoDB的验证时的错误信息的获取相关推荐
- 【MySQL】黑马教程MySQL数据库 MySQL基础(一)
文章目录 [MySQL]黑马教程MySQL数据库 | MySQL基础(一) MySQL启动 MySQL客户端连接 MySQL数据模型 SQL SQL分类 DDL 表操作-查询 表操作-创建 表操作-数 ...
- mysql当数据改变时_当数据库里面的价格变化时,发送信息到企业微信中
当数据库里面的价格变化时,发送信息到企业微信中 发布时间:2020-08-13 14:49:29 来源:ITPUB博客 阅读:100 作者:czxin788 mysql insert 触发器 添加in ...
- Mongodb学习总结(2)——MongoDB与MySQL区别及其使用场景对比
对于只有SQL背景的人来说,想要深入研究NoSQL似乎是一个艰巨的任务,MySQL与MongoDB都是开源常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数 ...
- MongoDB 学习笔记四 C#调用MongoDB
网址:http://blog.csdn.net/xundh/article/details/49449467 驱动 下载 https://github.com/mongodb/mongo-cshar ...
- [linux][MongoDB] mongodb学习(一):MongoDB安装、管理工具、
参考原文:http://www.cnblogs.com/kaituorensheng/p/5118226.html linux安装完美实现! 1. mongoDB安装.启动.关闭 1.1 下载安装包 ...
- 【MySQL】黑马教程MySQL数据库 | 学习记录笔记
MySQL概述 MySQL介绍 MySQL是一种关系型数据库(RDBMS),就是建立在关系模型基础上,由多张相互连接的二维表组成的数据库.像Excel表.特点:使用表存储数据,格式统一,便于维护:使用 ...
- mongodb3.2 java,MongoDB学习笔记:(3)、mongodb 3.2在java环境中的简单CRUD
首先新建一个java project项目,去下载mongo-java-driver-3.2.2.jar包.build path导入junit需要的jar包.另外运行代码前先要启动mongod 服务.下 ...
- 【MongoDB学习笔记7】深入MongoDB的删除(remove/drop)操作
先看集合post中文档信息: > db.post.find(); { "_id" : ObjectId("54a51cfd7f46906f81b7adcd" ...
- java连接oracle密码错误,java代码连接Oracle数据库出错,求解,以下是错误信息
得分:70 package com.ambow; import java.sql.Connection; import java.sql.Date; import java.sql.DriverMan ...
- 非关系型数据库MongoDB学习笔记
MongoDB学习笔记 --周灿 创建数据库 use "databasename" 查看数据库 show dbs 给指定数据库添加集合和插入记录 db.集合名.insert({ ...
最新文章
- Linux 中 3 个文件打包上传和下载相关命令详解
- 5个常见的SD-WAN挑战以及如何应对
- homelede软路由设置方法_斐讯无线路由器怎么设置 斐讯无线路由器设置方法【详解】...
- Linux下必须知道的网络命令(持续更新)
- 全面理解Unity加载和内存管理机制之二:进一步深入和细节
- 数据科学即将迎来“无代码”时代
- uni —app 录音_uniapp如何实现录音功能
- 88.合并两个有序数组
- linux centos如何切换时区,如何在CentOS服务器上更改时区?
- response下载文件
- 25.有5个人做在一起, 问第五个人多少岁? 他说比第四个人大2岁. 问第四个人岁数, 他说比第是三个人大2岁. 问第三个人, 又说比第二人大两岁. 问第二个人, 说比第一个人大两岁. 最后问第一个人
- TI芯片GPIO的内部上拉
- 个人介绍静态网页【附源码】初学者的期中作业
- 白平衡(Color Constancy,无监督AWB):CVPR2019论文解析
- 朝阳医院2018年销售数据分析
- 一个优酷会员账号可以登录几台设备
- 如何在年薪10万的上班族让自己第二年达到20万以上?
- jenkins流水线构建入门(单机容器形态)
- 需求调研注意事项-第一篇--如何组织调研工作
- 国内外火控计算机发展水平,火控计算机软件执行地址跟踪系统的研究
热门文章
- Raki的读paper小记:How to Fine-Tune BERT for Text Classification?
- 数据库的主键Id不是从1开始的
- 女孩子学前教育计算机,女孩子考什么专业比较好 适合女生的五大专业
- apache服务上配置https安全与域名请求
- 解析json对象出现$ref: $.list[0]的解决办法
- Xamarin Android中引用Jar包的方法
- 数据结构 KMP 算法实现
- 并发编程学习之ForkJoinPool分支合并
- 面试必考:秒杀系统的9个核心知识点,一次性打包给你
- SpringBoot配置多数据源(动态切换)