zoukankan      html  css  js  c++  java
  • @芥末的糖----------《管理系统后台架构逻辑》

    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
            失败:返回密码错误    
        用户名没有;查无此人
  • 相关阅读:
    c#中的对象生命周期
    数据抓取的艺术(三):抓取Google数据之心得
    redmine3.3.0安装问题
    wget 无法建立ssl连接 [ERROR: certificate common name ?..ssl.fastly.net?.doesn?. match requested host name ?.ache.ruby-lang.org?. To connect to cache.ruby-lang.org insecurely, use ?.-no-check-certificate?]
    Centos安装ruby
    Redmine插件的安装与卸载,知识库插件安装。
    Nexus网页直接上传jar包
    mvn deploy命令上传包
    一辈子只有1次成为BAT的机会,你如何把握?
    redmine创建新闻,自动发邮件给项目组所有成员
  • 原文地址:https://www.cnblogs.com/moonzwt/p/9833814.html
Copyright © 2011-2022 走看看