Mongoose 預定義模式修飾符
-
lowercase、uppercase 、trim
-
mongoose 提供的預定義模式修飾符,可以對我們增加的數據進行一些格式化
-
在定義Schema時進行處理
var UserSchema=mongoose.Schema({ name:{ type:String, trim:true }, age:Number, status:{ type:Number, default: 1 } })
Mongoose Getters與Setters 自定義修飾符
- 除了 mongoose 內置的修飾符以外,我們還可以通過 set(建議使用) 修飾符在增加數據的時候對數據進行格式化
- 也可以通過 get(不建議使用)在實例獲取數據的時候對數據進行
- 示例:對url進行處理url的自定義修飾符 set操作, 主要看redirect這個屬性的自定義修飾符
var NewsSchema=mongoose.Schema({ title:"string", author:String, pic:String, // 這裏是一個跳轉地址url, 如果用戶輸入www.baidu.com(沒有http/https協議的) 保存成 http://www.baidu.com 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 } })
- 示例:對url進行處理url的自定義修飾符 set、get操作, 主要看redirect這個屬性的自定義修飾符
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 } })