前奏
Express 是什么?
Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。
全局安装express脚手架
1 | $ npm install express-generator -g |
创建express项目
1 | $ express myapp |
MongoDB与Mongoose?
- MongoDB是一个对象数据库,是用来存储数据的;存储的数据格式为JSON。
- Mongoose是封装了MongoDB操作(增删改查等)的一个对象模型库,是用来操作这些数据的。
安装MongoDB:
https://www.mongodb.com/download-center?jmp=nav
安装Mongoose:
1 | $ npm install mongoose --save |
一、连接MongoDB
在项目根目录下新建/lib/mongo.js
1 | var mongoose = require("mongoose"); |
要连接的数据库为myblog
二、Schema
一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,不具备对数据库的操作能力,仅仅只是数据库模型在程序片段中的一种表现,可以说是数据属性模型(传统意义的表结构),又或着是“集合”的模型骨架
新建一个用户Schema
在项目根目录下新建/models/users.js
1 | var mongoose = require("mongoose"); |
- user:数据库中的集合名称,当我们对其添加数据时如果user已经存在,则会保存到其目录下,如果不存在,则会创建user集合,然后在保存数据。
- 拥有了Model,我们也就拥有了操作数据库的金钥匙,就可以使用Model来进行增删改查的具体操作。
Entity
Entity–由Model创建的实体,使用save方法保存数据,Model和Entity都有能影响数据库的操作,但Model比Entity更具操作性。所以此项目主要用的Model。
1 | var UserEntity = new UserModel({ |
三、封装数据库的CURD
- 在lib文件下新建api.js
- 采用Promise封装对数据库的操作,避免回调地狱,使得代码能够更好的被读懂和维护。
1 | var UserModel = require('../models/users'); |
四、使用
在/routers/index.js中使用
1 | var api = require('../lib/api'); |
项目Github地址: https://github.com/hzzly/express-mongodb
如果对你有帮助,欢迎star
文章来源hzzly博客技术分享