一、mongoose 预定义模式修饰符

lowercase、uppercase 、trim mongoose 提供的预定义模式修饰符,可以对我们增加的数据进行一些格式化。

var UserSchema=mongoose.Schema({ name:{ type:String, trim:true }, age:Number, status:{ type:Number, default:1 }
})


二、Mongoose Getters 与 Setters 自定义修饰符

除了 mongoose 内置的修饰符以外,我们还可以通过 set(建议使用) 修饰符在增加数据的 时候对数据进行格式化。也可以通过 get(不建议使用)在实例获取数据的时候对数据进行格式化。

var NewsSchema=mongoose.Schema({ title:"string", author:String, pic:String, redirect:{ type:String, set(url){ if(!url) return url; if(url.indexOf('http://')!=0 &&url.indexOf('https://')!=0){ url = 'http://' + url; }return url; } }, content:String, status:{ type:Number, default:1 }
})
var NewsSchema=mongoose.Schema({ title:"string", author:String, pic:String, redirect:{ type:String, set(url){ if(!url) return url; if(url.indexOf('http://')!=0 && url.indexOf('https://')!=0){ url = 'http://' + url;}return url; }, get: function(url){ if(!url) return url; if(url.indexOf('http://')!=0 && url.indexOf('https://')!=0){ url = 'http://' + url; }return url; }
}, content:String, status:{ type:Number, default:1 } })


Mongoose 预定义模式修饰符 Getters 与 Setters 自定义修饰符相关推荐

  1. 【Java 正则表达式】单字符匹配、预定字符、量词、Matcher(贪婪、勉强、独占模式)、捕获组、边界匹配符、String类与正则表达式

    正则表达式(Regex Expression) 字符串的合法验证 自己编写验证逻辑 使用正则表达式 单字符匹配 预定义字符 量词(Quantifier) Pattern.Matcher Matcher ...

  2. Qt4_使用预定义模型

    使用预定义模型 Qt提供了几种可以在视图类中使用的预定义模型,见下表. Team Leaders 我们从一个简单的对话框开始,用户可以使用它添加.删除和编辑一个 QStringList,其中每个字符串 ...

  3. 【Java核心技术卷一】对象与类:使用预定义类与用户自定义类

    使用预定义类与用户自定义类 一.预定义类 1.对象与对象变量 2.LocalData类 3.更改器方法与访问器方法 二.用户自定义类 1.Employee类 2.多个源文件的使用 3.剖析Employ ...

  4. bash之预定义变量

    1.2 预定义变量 echo $PWD 当前路径 echo $USER 当前用户 echo $HOME 当前用户的家目录 echo $PATH 当前的环境变量 echo ~ 当前用户的用户迷路 ech ...

  5. PHP中的预定义常量和魔术常量

    魔术常量(8个) 1.__LINE__ 返回文件中的当前行号. 2.__FILE__ 返回文件的完整路径和文件名.如果用在包含文件中,则返回包含文件名.自 PHP 4.0.2 起,__FILE__ 总 ...

  6. make的自动变量和预定义变量

    make的自动变量 $@ 规则目标的文件名.如果目标是档案文件的一个成员,"$@"就是档案文件的名称 $% 当目标是档案文件的一个成员时,"$%"是该成员的名称 ...

  7. shell脚本编译规范(编写第一个脚本,脚本变量的作用,类型 ,了解read命令,let命令,环境变量和预定义变量)

    文章目录 shell脚本编译规范 shell脚本应用场景 shell编程规范 编写第一个脚本 执行脚本文件四种方法 echo输出友好提示信息 管道与重定向 管道操作符号"|" sh ...

  8. dotnet 新项目格式与对应框架预定义的宏

    在 sdk style 的项目格式支持使用多框架开发,此时需要在代码里面通过宏判断,在编译的时候执行不同的代码.本文告诉大家在框架里面对应的预定义的条件编译符有哪些 在让一个 csproj 项目指定多 ...

  9. 【struts2】预定义拦截器

    1)预定义拦截器 Struts2有默认的拦截器配置,也就是说,虽然我们没有主动去配置任何关于拦截器的东西,但是Struts2会使用默认引用的拦截器.由于Struts2的默认拦截器声明和引用都在这个St ...

最新文章

  1. 软件测试培训教程:pytest与unittest区别
  2. Java设计模式圣经连载(05)-代理模式
  3. 3位格雷码的顺序编码_FPGA 设计之 跨时钟域(四 - 格雷码)
  4. grep、cut、awk、sed文本处理
  5. Effective Java:对于所有对象都通用的方法
  6. 学Java怎么样?学Java从业前景如何呢?
  7. python和matlab交互_MATLAB调用python,交互
  8. 线性代数第9版英文pdf_线性代数(英文版·第9版)
  9. OpenShift 4 - OpenShift是如何升级RHCOS的
  10. try...catch...finally的陷阱——加锁的线程开发经验分享
  11. Python 贪吃蛇小游戏
  12. USB写保护的一些工具记录
  13. 数学归纳法·Fibonacci数列
  14. Linux如何恢复初始PS1,ps界面怎么恢复默认设置
  15. QMT量化交易网格交易 源码
  16. 「 微信黑科技 」神奇符号
  17. 一篇文章带你搞懂 JPA 和 hibernate
  18. 芯天下8bit MCU
  19. 健康知识大全api 取得最新的知识列表
  20. dell 2950 LED报W1228 ROMB Batt 24hr 警告处理

热门文章

  1. Python--进程、线程、协程对比
  2. Flask 第三方组件之 script
  3. 【Django】django使用原生SQL的方法(附加说说为什么ORM上不了大台面)
  4. html 二级试题,计算机二级考试WEB试题及答案
  5. resin指定java版本_resin的几个常用配置
  6. Linux高性能服务器编程:进程池和线程池原理及应用(有图有代码有真相!!!)
  7. Android查看真机布局,android-外部存储
  8. Linux基础提高_系统性能相关命令
  9. [JZOJ P1288] [DP]矩阵取数
  10. linux-0.11内核 调试教程+GCC源代码