• Mongoose 预定义模式修饰符 Getters 与 Setters 自定义修饰符


    一、mongoose 预定义模式修饰符

    lowercaseuppercase 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);
        })
    
    });
  • 相关阅读:
    《C语言笔记:linux下C程序的内存映像》
    《C语言笔记:结构体内存对齐》
    《C语言笔记:一些自实现的字符串函数》
    《C语言笔记:大小端模式》
    《将博客搬至CSDN》
    《C语言笔记:三种内存来源》
    使用vue-cli3的方式创建项目并引入vant
    tomcat部署多个项目
    jenkins构建项目失败
    tomcat安装
  • 原文地址:https://www.cnblogs.com/loaderman/p/11516021.html
Copyright © 2020-2023  润新知