看這個你應該已經學會了操做一種數據庫,我這裏用的是mongodb,對mongodb不會的能夠去看看個人前兩篇文章,上手很簡單,我這裏用的是可視化工具robo3.0前端
因爲前端很簡單我就放在了public下面,項目地址 github.com/ZhaoyangRao…node
├── app
│ └── controllers // 控制器文件目錄,用來操做數據庫
│ │ └── ... // 對應操做的表,這裏就省略了
│ ├── middleware// 自定義中間件目錄
│ ├── models // 定義的表結構
│ │ └── ... // 對應的表,這裏就省略了
│ └── utils // 工具模塊目錄
│ │ └── ... // 工具模塊,這裏就省略了
├── routes // 路由文件
│ ├── api // 路由配置
├── app.js // 項目入口文件
└── config.js // 配置文件
複製代碼
這裏說一個題外話,其實如今前端後端有一個貫穿編碼整個的思想就是MVC,這裏的目錄和做用也體現了MVC,models就是M,controllers就是C,routes就相似於V表現層也就是拋出來的請求接口。git
入口文件沒有業務代碼,作了幾件重要的事情,github
1.require('koa')
2.鏈接了數據庫(須要用到mongoose mongoose是nodeJS提供鏈接 mongodb的一個庫)
3.引入調用了routes
4.require('koa2-cors');require('koa-body');
我這裏還引入兩個用的比較多的生態庫,一個用來解決跨域,一個用來解決post請求以及文件下載等
複製代碼
首先數據庫屬於M層,你能夠看見models裏面就是mongoose鏈接 mongodb的,mongodb
mongoose.Schema( 至關於一個數據庫的模板,數據結構)
mongoose.model(簡單的理解就是經過mongoose.model你就能夠對數據庫裏面的相應的數據進行操做())
複製代碼
也就是本身定義的那些操做調用數據層的那些方法控制器數據庫
一些經常使用的方法,格式化時間等後端
你能夠寫一些對request response封裝一下api
暴露出去的接口,以及相應接口調用的回調controllers,controllers再去操做models跨域