Mongoose 预定义模式修饰符 Getters 与 Setters 自定义修饰符
一、mongoose 预定义模式修饰符
lowercase、uppercase 、trim
mongoose 提供的预定义模式修饰符,可以对我们增加的数据进行一些格式化。
db.js
//连接数据库 var mongoose=require('mongoose'); //useNewUrlParser这个属性会在url里识别验证用户所需的db,未升级前是不需要指定的,升级到一定要指定。 mongoose.connect('mongodb://127.0.0.1:27017/eggcms',{ useNewUrlParser: true },function(err){ if(err){ console.log(err); return; } console.log('数据库连接成功') }); module.exports=mongoose;
focus.js
var mongoose=require('./db.js'); var FocusSchema=mongoose.Schema({ title:{ type:String, trim:true //定义 mongoose模式修饰符 去掉空格 }, pic:String, redirect:{ type:String, set(parmas){ //增加数据的时候对redirect字段进行处理 // parmas可以获取redirect的值 、 返回的数据就是redirect在数据库实际保存的值 /* www.baidu.com http://www.baidu.com http://www.baidu.com http://www.baidu.com */ if(!parmas){ return '' }else{ if(parmas.indexOf('http://')!=0 && parmas.indexOf('https://')!=0){ return 'http://'+parmas; } return parmas } } }, status:{ type:Number, default:1 } }) module.exports=mongoose.model('Focus',FocusSchema,'focus');
操作:
var FocusModel=require('./model/focus.js'); var focus =new FocusModel({ title:" 我是一个国际新闻666666 ", pic:'http://www.xxx.com/x.png', redirect:'www.bbbbb.com' }) focus.save(function(err){ if(err){ console.log(err); return; } FocusModel.find({},function(err,docs){ if(err){ console.log(err); return; } console.log(docs); }) });
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!