mongo逻辑
//1.创建mongoose对象链接数据库,并暴露 var mongoose = require('mongoose') mongoose.connect('mongodb://localhost:27017/lagou', { useNewUrlParser: true }) var db = mongoose.connection db.on('error', console.error.bind(console, 'connection error:')) db.once('open', function () { // we're connected! }) module.exports = mongoose
// 2.创建Schema表字段 const positionSchema = new mongoose.Schema({ companyLogo: String, companyName: String, positionName: String, city: String, salary: String, createDate: String }) const PositionModel = mongoose.model('positions', positionSchema)//创建集合约束模型
//使用对象操作
new PositionModel(data) .save() .then((result) => { return result })
增----删----改----查
增
1.后台保存接口逻辑
1.express的路由调用controller
2.controller调用model层暴露的save模块,传入req.body
3.model层接受数据,将new集合一个对象数据.save()保存,并且return数据返回controller层
4.在controller层插入失败!!result返回前端res.render()使用模板引擎渲染的数据(将对象转化为字符串)
查
2.列出所有信息接口逻辑
1.路由调用controller层
2.await等model层的数据
3,
PositionModel .find({}) .sort({ _id: -1 }) .then((result) => { return result }) // catch表示find操作出错了,空数据并不代表出错 .catch((err) => { return false })
4.controller层res.render返回接口数据
3.显示单条数据接口逻辑
1.路由调controller
2.controller层req.body.id获取id
3.调用model的listone接口,传入id
4.model操作集合返回值
PositionModel .findById(id) .then((result) => { return result })
5.res.render返回接口模板data
删
4.删除某条信息接口逻辑
1.express路由调controller
2.解构赋值id
3.model层操作集合
PositionModel .findByIdAndDelete(id) .then((result) => { return result })
4.controller层返回接口模范信息
改
1.express路由调用controller、
2.controller层传id和data去model层
3.model返回数据
4.调用模板返回接口数据
登录注册逻辑
注册:有则失败
没有就加密插入
登录:根据用户名查找用户信息
用户名有:密码相比较
成功:返回用户名
(Session的初始化, )
产生一个Session状态
给浏览器种一个cookie。res.setcookie
失败:返回密码错误
用户名没有;查无此人