码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【nodejs】express-generator项目--创建接口及数据库连接


    文章目录

    • 一、创建接口
      • 1、路由routes
        • (1)新建路由文件
        • (2)注册路由
      • 2、控制器controller
        • (1)新建controller文件
        • (2)代码
      • 3、services
        • (1)新建services文件
        • (2)代码
      • 4、models
        • (1)新建services文件
        • (2)安装 mongoose
        • (3)代码
      • 5、app.js
        • (1)代码
        • (2)连接数据库后重启项目
        • (2)接口请求结果
    • 二、数据库连接
      • 1、db.config.js
        • (1)新建数据库配置文件
        • (2)代码
        • (3)使用
      • 2、打开数据库管理工具
        • (1)连接MongoDB
        • (2)连接成功
        • (3)添加数据
        • (4)查询结果


    一、创建接口

    1、路由routes

    配置路由信息,注册路由

    (1)新建路由文件

    • 在 routes 文件夹下新建路由文件,例如 UserRouter.js

    (2)注册路由

    var express = require('express');
    const UserController = require('../controllers/UserController');
    var UserRouter = express.Router();
    
    /* 路由方法写入controller文件夹下文件(如:UserController.js)*/
    UserRouter.post('/user/login', UserController.login);
    
    module.exports = UserRouter;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2、控制器controller

    拿到前端数据,处理加工,进行调用数据层(Services),返回数据

    (1)新建controller文件

    • 项目根目录下创建 controllers 文件夹
    • controllers 文件夹下新建文件,例如 UserController.js

    (2)代码

    const UserService = require("../services/UserService")
    
    const UserController = {
        login: async (req, res) => {
            let result = await UserService.login(req.body)
            console.log(req.body)
            if (result.length === 0) {
                res.send({
                    code: '-1',
                    error: "用户名密码不匹配"
                })
            } else {
                res.send({
                    ActionType: "OK"
                })
            }
        }
    }
    module.exports = UserController
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    3、services

    引用创建的数据库模型,进行数据的增删改查操作

    (1)新建services文件

    • 项目根目录下创建 services 文件夹
    • services 文件夹下新建文件,例如 UserService.js

    (2)代码

    const UserModel = require("../models/UserModel")
    
    const UserService = {
        login: async ({ username, password }) => {
            return UserModel.find({
                username, password
            })
        }
    }
    module.exports = UserService
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    4、models

    创建数据库模型

    (1)新建services文件

    • 项目根目录下创建 models 文件夹
    • models 文件夹下新建文件,例如 UserModel.js

    (2)安装 mongoose

    npm i mongoose --save
    
    • 1

    (3)代码

    const mongoose = require("mongoose")
    const Schema = mongoose.Schema
    
    // user模型===>users集合
    const UserType = {
        username: String,
        password: String,
        gender: Number, //性别 0,1,2
        introduction: String, //简介
        avatar: String,
        role: Number //管理员1,编辑2
    }
    const UserModel = mongoose.model("user", new Schema(UserType))
    module.exports = UserModel
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    5、app.js

    (1)代码

    • 项目根目录下 app.js 文件中加入如下代码:
    const UserRouter = require('./routes/UserRouter');
    
    app.use( UserRouter);
    
    • 1
    • 2
    • 3

    (2)连接数据库后重启项目

    连接数据库在本文后面有提到

    (2)接口请求结果

    • 添加数据后的查询结果可在本文最后查看;
    • vue项目中请求查看结果如下(数据库中还未添加数据):

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    二、数据库连接

    1、db.config.js

    (1)新建数据库配置文件

    • 项目根目录下创建 config 文件夹
    • config 文件夹下新建文件,例如 db.config.js

    (2)代码

    const mongoose = require("mongoose")
    
    mongoose.connect("mongodb://127.0.0.1:27017/company-system")
    
    • 1
    • 2
    • 3

    (3)使用

    在 bin\www 文件中加入如下代码

    require("../config/db.config")
    
    • 1

    2、打开数据库管理工具

    我这里使用的是Navicat

    (1)连接MongoDB

    在这里插入图片描述

    (2)连接成功

    • 项目重启后数据库如下
      在这里插入图片描述

    (3)添加数据

    • 点击编辑栏下的添加文档
      在这里插入图片描述
    • 输入如下数据,点击添加
      在这里插入图片描述
      在这里插入图片描述

    (4)查询结果

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    epoll实现TCP的服务器与客户端通信
    深入理解React中fiber
    学习Opencv(蝴蝶书/C++)——1. 前言 和 第1章.概述
    实战回忆录:从Webshell开始突破边界
    Centos 8.2 本地部署 Jenkins
    PostgreSQL基本操作
    AOP+反射 批量参数校验
    RocketMq(一)安装部署
    go操作rgb图片
    设计模式——总结
  • 原文地址:https://blog.csdn.net/sjp991012/article/details/137973276
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号