node操作mongodb数据库 - mongoose验证规则

mongoose 验证

  • required:true
  • unique: true // 保证当前字段不重复(唯一的)
  • maxlength / minlength
  • min / max
  • enum:[“a”,“b”,“c”]
    enum还有一个可以自定义提示信息的写法:
enum:{
	value:["a","b","c"],
	message:"自定义信息"
}
  • trim:true
  • validate
  • default
    在创建集合规则时,可以设置当前字段的验证规则,验证失败则输入插入失败
    验证规则的值基本上都可以用数组的形式:[值,“提示信息”]
    1、字符串
  • required:true (必传字段)值可以是bool值,也可以是数组,值为数组时下标为0的值是bool值,为1的是提示信息
const mongoose = require("mongoose");

// 连接数据库
mongoose.connect("mongodb://localhost/playground").then(() => {
    console.log("连接成功")
}).catch(e => {
    console.log("连接失败",e);
})

// 创建集合规则
const postSchema = new mongoose.Schema({
    name:{
        type:String,
        	// 值为bool值
         // required:true
         // 值为数组
         requied:[true,"请输入标题"]
    }
})
// 创建集合
const Post = mongoose.model("Post",postSchema);
Post.create({}).then(res => {
    console.log(res)
}).catch(e => {
	// 报错
	console.log(e)
)
  • minlength:number / maxlength:number 最小长度和最大长度限制
    minlength:[number,“提示信息”] / maxlength:[number,“提示信息”]
  • trim:true 清空字符串两边的空格

2、Number

  • min/max 最小值/最大值

3、Date

  • defaut: Date.now 默认值是当前时间

4、enum:[“s1”,“s2”,“s3”],如果传的值不在这个数组内会报错
5、自定义验证规则(validate)

author:{
	type:String,
	validate:{
		validator:(v) => {
			// 参数v是当前用户传进来的值
			// 需要返回一个boolean值
			return v && v.length > 4
		},
		// 自定义错误信息
		message:"传入的信息不合法"
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值