一,当只有一个文档输入不符合规则时的错误信息

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的验证时的错误信息的获取相关推荐

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

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

  2. mysql当数据改变时_当数据库里面的价格变化时,发送信息到企业微信中

    当数据库里面的价格变化时,发送信息到企业微信中 发布时间:2020-08-13 14:49:29 来源:ITPUB博客 阅读:100 作者:czxin788 mysql insert 触发器 添加in ...

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

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

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

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

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

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

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

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

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

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

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

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

  9. java连接oracle密码错误,java代码连接Oracle数据库出错,求解,以下是错误信息

    得分:70 package com.ambow; import java.sql.Connection; import java.sql.Date; import java.sql.DriverMan ...

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

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

最新文章

  1. Linux 中 3 个文件打包上传和下载相关命令详解
  2. 5个常见的SD-WAN挑战以及如何应对
  3. homelede软路由设置方法_斐讯无线路由器怎么设置 斐讯无线路由器设置方法【详解】...
  4. Linux下必须知道的网络命令(持续更新)
  5. 全面理解Unity加载和内存管理机制之二:进一步深入和细节
  6. 数据科学即将迎来“无代码”时代
  7. uni —app 录音_uniapp如何实现录音功能
  8. 88.合并两个有序数组
  9. linux centos如何切换时区,如何在CentOS服务器上更改时区?
  10. response下载文件
  11. 25.有5个人做在一起, 问第五个人多少岁? 他说比第四个人大2岁. 问第四个人岁数, 他说比第是三个人大2岁. 问第三个人, 又说比第二人大两岁. 问第二个人, 说比第一个人大两岁. 最后问第一个人
  12. TI芯片GPIO的内部上拉
  13. 个人介绍静态网页【附源码】初学者的期中作业
  14. 白平衡(Color Constancy,无监督AWB):CVPR2019论文解析
  15. 朝阳医院2018年销售数据分析
  16. 一个优酷会员账号可以登录几台设备
  17. 如何在年薪10万的上班族让自己第二年达到20万以上?
  18. jenkins流水线构建入门(单机容器形态)
  19. 需求调研注意事项-第一篇--如何组织调研工作
  20. 国内外火控计算机发展水平,火控计算机软件执行地址跟踪系统的研究

热门文章

  1. Raki的读paper小记:How to Fine-Tune BERT for Text Classification?
  2. 数据库的主键Id不是从1开始的
  3. 女孩子学前教育计算机,女孩子考什么专业比较好 适合女生的五大专业
  4. apache服务上配置https安全与域名请求
  5. 解析json对象出现$ref: $.list[0]的解决办法
  6. Xamarin Android中引用Jar包的方法
  7. 数据结构 KMP 算法实现
  8. 并发编程学习之ForkJoinPool分支合并
  9. 面试必考:秒杀系统的9个核心知识点,一次性打包给你
  10. SpringBoot配置多数据源(动态切换)