一直以來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全棧】