一直以来mongoose学习都是比较麻烦的,mongoose-cli试图简化学习和测试mongoose部分,并经过app开发流程反思整个过程当中业务逻辑部分如何抽象,以期简化开发与分层实现node
如图git
这里首先从交互图开始,需求统一为交互图。github
那么,咱们看看这个流程里什么是最核心的东西?mongodb
这2点实际上是整个app里最核心的部分,即业务部分,咱们若是把握住此处的设计,输出【api文档】 + 模型,便可拆分工做任务,WBS数据库
根据上面的流程,结合MEAN架构,须要交付npm
可以根据api文档生成routes和controller部分代码,而且可逆json
留空model和service便可。api
上面是对于业务建模的思考,那么咱们如何快速的进行建模,又能不和现有代码耦合呢?promise
以前说过,业务逻辑,基本就是model + 流程控制,可否直接都集成到一块儿?架构
mongoose-cli主要解决的就是这个问题
[sudo] npm install -g mongoose-cli
第一步:使用mongoose
命令来初始化测试目录结构
➜ d mongoose ➜ d cd mongoose-console ➜ mongoose-console ls LICENSE README.md app config db.js example.js index.js node_modules package.json ➜ mongoose-console mc
第二步: 执行mc命令,在moa-console中测试
➜ mongoose-console mc 提醒:debug状态链接数据库: mongodb://127.0.0.1:27017/mongoose-console-test [2015-08-06 20:59:47.378] [INFO] [default] - undefined [2015-08-06 20:59:47.379] [INFO] [default] - Welcome to the Moa console. [2015-08-06 20:59:47.380] [INFO] [default] - undefined Available Entity: - Bson - Index Moa> [mongoose log] Successfully connected to: NaN mongoose open success undefined Moa> .list Available Entity: - Bson - Index Moa> Bson.find({},function(err,doc){console.log(doc)}) Moa> [ { _id: 55c35575b92da9b4fbeb3b26, user_name: 'alfred sang', __v: 0, created_at: Thu Aug 06 2015 20:39:17 GMT+0800 (CST) }, { _id: 55c356f4d1b21737ffefb2d4, user_name: 'alfred sang', __v: 0, created_at: Thu Aug 06 2015 20:45:40 GMT+0800 (CST) }, { _id: 55c356fb12e6f243ffb2c4dd, user_name: 'alfred sang', __v: 0, created_at: Thu Aug 06 2015 20:45:47 GMT+0800 (CST) }, { _id: 55c35a3fa6474371030783a3, user_name: 'alfred sang', __v: 0, created_at: Thu Aug 06 2015 20:59:43 GMT+0800 (CST) } ] (^C again to quit) Moa>
➜ mongoose-console node example.js 提醒:debug状态链接数据库: mongodb://127.0.0.1:27017/mongoose-console-test [mongoose log] Successfully connected to: NaN mongoose open success { __v: 0, user_name: 'alfred sang', _id: 55c35a3fa6474371030783a3, created_at: Thu Aug 06 2015 20:59:43 GMT+0800 (CST) } ^C%
全文完
欢迎关注个人公众号【node全栈】