快速开发一个web接口,应该没有比Express+mongoDB更快/更简单的组合了。这里简单总结一些使用nodeJs的mongoose模块链接和操作mongoDB。
Express:
基于nodejs快速、开放、极简的web开发框架,怎么安装就不在赘言。这里要说的是如果使用node命令启动server,每次修改文件都需要Ctrl+c非常麻烦。这里可以使用nodemon自动重启,监听路由和响应内容.十分方便
1 | npm install -g nodemon |
Express的一些特性:
- app.get、app.post分别开发get和post接口
- app.use使用模块
- res.send、res.json、res.sendfile响应不同的内容
使用起来非常简单,半个小时不到就能上手
mongoDB
Mac的话,安装mongoDB非常简单
1 | brew install mongodb |
搞定.
通过命令后台启动
1 | mongod --config /usr/local/etc/mongod.conf |
之后再开一个终端窗口
就证明mongo安装成功咯。
之后就是安装mongoose。mongoDB和node配合最好的一个库。
说通俗一点:通过mongoose操作mongobd,存储的就是json,相对mysql来说,要易用很多。
1 | npm install mongoose --save |
mongoose的使用
connect链接数据库
1
2
3
4
5
6
7const mongoose = require('mongoose')
// 链接mongo
const DB_URL = 'mongodb://127.0.0.1:27017'
mongoose.connect(DB_URL)
mongoose.connection.on('connected',function () {
console.log('mongo connect success')
})如果node server端打印出:mongo connect success。mongoDB就链接上了
定义文档模型,Schema和model新建模型
代一个数据库文档对应一个模型,通过模型对数据库进行操作
eg:
1 | const User = mongoose.model('user', new mongoose.Schema({ |
Mongoose文档
类型:
- String、Number等数据结构
- 定create、remove、update分别用来增删改查的操作
- Find和findOne用来查询数据
新增数据:
1 | // 新增数据 |
删除数据:
1 | // 删除数据 |
查询数据
1 | User.find({name: 'lac'},function (err, doc) { |
findOne就是查找到一条返回~,find是多条。
更新数据
1 | // 更新 |