• @芥末的糖----------《管理系统后台架构逻辑》


    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
            失败:返回密码错误    
        用户名没有;查无此人
  • 相关阅读:
    堆、栈、值类型、引用类型分析总结 Part 2
    DataGridView打印
    学习使用ArrayList
    C#与Java之比较
    【原创】串口通信测试程序
    彩色校验码的制作
    C#中使用进度条
    【原创】 Ajax之ModalPopup编程实例
    常用正则表达式
    堆、栈、值类型、引用类型分析总结 Part 1
  • 原文地址:https://www.cnblogs.com/moonzwt/p/9833814.html
Copyright © 2020-2023  润新知