2021-8-17 63 0
Node.js

在创建集合时,可以设置当前字段的验证规则,验证失败就插入失败。type:传入的数据类型required:必选字段当值为true时,说明该字段是一个必填字段。当值为[true,‘该字段是必填项’]时第一个值为true:开启必填。第二个值:如果该字段没传内容,那么就将这个字符当成错误信息返回。required:[true,'该字段为必选项']required:trueminlength:字符串的最小长度,注意:针对字符串minlength:[2,'字符串最小长度为2']//定义长度和自定义错误信息minlength:2//只定义长度maxlength:字符串的最大长度,注意:针对字符串maxlength:[5,'字符串最小长度为2']//定义长度和自定义错误信息maxlength:5//只定义长度min:数字的最小数,注意:针对数字min:[0,'最小数应为0']min:0max:数字的最大数,注意:针对数字max:[100,'最大数应为100']max:100trim:去除字符串两边的空格trim:trueenum:枚举(是否是数组里面的值,如果是就成功,不是就失败)enum:[0,1]//只能是0或者1default:默认值validata:自定义验证器这个是一个属性,它的值是一个对象。对象中有一个validator属性,它的值是一个函数。函数有一个参数,是v,这个v就是给字段传过来的值。这个函数返回一个boolean类型的值。为true就验证成功,为false就验证失败。在这个对象中,还有一个message属性,如果验证失败,message的值就是错误信息。age:{type:Number,//设置类型//自定义验证器validata:{validator:function(v){//这个v参数可以拿到age字段的值returnv>=0&&v<=100;//条件},message:"传入的年龄不符合规范!";}}unique:唯一索引需要将值设置为true才会生效。在往数据库插入数据时,它会传入的这个数据在数据库中是否已经存在,如果存在就不会插入,并且会报一个错误。age:{unique:true}

Node.js

增删改查操作:0x01添加数据:1、添加数据-通过new的方式:实例.save(function(err,ret){//如果成功:err就是null,如果失败:err就是错误对象。//ret:添加成功的数据});2、添加数据-直接插入(推荐):模型构造函数.create({字段...}).then(function(ret){console.log("插入成功,",ret)//打印添加成功的数据}).catch(function(err){conosle,log("插入失败,",err.message)//打印详情失败信息})0x02查找数据:1、查找数据-显示所有-返回数组:模型构造函数.find(function(){//如果成功:err就是null,如果失败:err就是错误对象。//ret:数据(数组)});2、查找数据-条件查询-返回数组:模型构造函数.find({//返回name为张三的所有数据name:"张三"},function(){//如果成功:err就是null,如果失败:err就是错误对象。//ret:数据(数组)});3、查找一个数据-条件查询-返回对象:模型构造函数.findOne({//返回查到的第一个name为张三的数据,返回的是一个对象name:"张三"},function(err,ret){//如果成功:err就是null,如果失败:err就是错误对象。//ret:数据(对象)});0x03删除数据1、删除数据-删除符合条件的所有数据:模型构造函数.remove({name:"张三"//删除name为张三的所有数据},function(err,ret){});0x04更新数据1、更新数据-根据条件更新所有:模型构造函数.update({name:"张三"},{name:"李四"},function(err,ret){//将所有name为张三的数据,全部更改为李四。});更新数据-更新符合条件的第一个数据:模型构造函数.findOneAndUpdate({name:"张三"},{name:"李四"},function(err,ret){//将查询到第一个name为张三的数据,将name更新成李四});3、更新数据-通过id更新:模型构造函数.findByIdAndUpdate('id',{name:"张三"},function(err,ret){//将这个id的数据中的name字段更改为张三。});

2021-7-11 59 0