作者:短工邦技术部 - 陈文哲
node.js+express.js+mongooes+jade一圈走下来,感觉还是不够简便,概念也比较混乱,所以我着手按我的思路重新优化了这个框架。重点是优化MODEL层,从mongoose下手。
优化后的MODEL代码,举个栗子
var Schema = require('mongoose').Schema;
var MODEL = Schema({
Advertiser: {type:Schema.Types.ObjectId,ref:'UserMODEL'},
Name: String, //任务名称
Intro: String,
createdAt:{
type:Date,
default:Date.now()
},
updatedAt:{
type:Date,
default:Date.now()
}
}, {collection: "Plan"});
// 定义该MODEL的能提供的数据操作
// 这里就是封装重点!
// 1:为了让应用层按一定的规范来获取数据
// 2:让MODEL层保持一致,而不是乱七八糟为应用层提供各种各样的方法。
MODEL.statics = {
Find : function( query, data ) {
if(!query.limit){
//默认限制1000条结果
query.limit = 1000;
}
if(!query.order){
//默认按“创建时间”倒序排列
query.order = "-created