nodejs MODEL层 封装(二)
2016-06-07 18:25
603 查看
作者:短工邦技术部 - 陈文哲经过《nodejs MODEL层 封装(一)》的封装,MODEL层变得简洁了,但是所有MODEL层的方法都一样,所以显而易见的,下一步封装就是把所有相同的代码封装到BaseMODEL,然后自定义的MODEL“继承”自BaseMODEL就行了。在MODEL目录下,新建BaseMODEL.js,代码如下
exports.statics = { //KeyValue是一个JSON对象,可以根据需求自由传入 findByKeyValue : function( KeyValue, data ) { return this.find(KeyValue).exec( data ); }, Find : function( query, data ) { if(!query.limit){ query.limit = 1000; } if(!query.order){ query.order = "-createdAt"; } if(!query.include){ query.include = ""; } return this.find(query.where).populate(query.include).limit(query.limit).sort(query.order).exec( data ); }, Update : function( query,data){ query.data.updatedAt = Date.now(); //所有更新操作,都更新系统updatedAt字段 return this.update({_id:query._id},query.data).exec(data); } };然后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"}); var BaseMODEL = require("./BaseMODEL"); MODEL.statics = BaseMODEL.statics; /* global db */ module.exports = db.model('PlanMODEL', MODEL);
相关文章推荐
- nodejs2
- windows 10 安装 hexo 续
- ActiveMQ + NodeJS + Stomp 入门
- node 获取本地IP地址
- 创建 Web 前端开发环境(node和npm)
- Populating Next Right Pointers in Each Node II
- window下安装node.js
- 如何在 Windows 10 中搭建 Node.js 环境?
- 如何在 Windows 10 中搭建 Node.js 环境?
- Populating Next Right Pointers in Each Node
- Delete Node in a Linked List
- NodeJS实现WebSocket,太容易了吧!!
- leetcode 25. Reverse Nodes in k-Group
- Node.js child_process模块中的spawn和exec方法
- window10 安装 hexo
- node.js 监听文件变化并打印
- Node.js(安装包版)、Sublime text3安装与配置
- 19. Remove Nth Node From End of List
- loopback安装教程--Node.js Cannot find Module xxx 的问题
- Swap Nodes in Pairs