• express+vue+mongonDB 项目搭建 实现增删改查


    一、express项目安装(需要提前准备node npm相应的环境)

      1.初始化pack.json  npm init -y

      2.下载express npm install express --save

      3.在根目录下新建app.js

      

       

    // 导入express
    const express = require('express');
    // post参数处理
    var bodyParser = require('body-parser')
    const app = express();
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({
        extended: true
    }));
    //
    app.use('/user',require('./controller/user'));
    //端口监听
    app.listen(3000,()=>{
        console.log('node服务启动')
    });
    

     4.安装nodemon 检测服务 自动重启 npm install nodemon --save

     5.启动服务 nodemon app

    二.、express与mongoDB的连接

      1.根目录下新建db.js (需要提前安装好mongoDB及可视化工具)

      

      

    // 导入mongo包
    const mongoose = require("mongoose");
    // 建立连接 后面跟上数据库地址及库名
    mongoose.connect("mongodb://localhost/csData", err => {
        if (err) console.log("**********【数据库连接失败】**********");
        else console.log("**********【数据库连接成功】**********");
    });
    //导出
    module.exports  = mongoose;
    

      2.测试连接 

     三、vue搭建

      1.下载vue-cli脚手架 npm install vue-cli -g

      2.下载element-ui axios等三方库

      3.npm run dev 运行项目

    四、CRUD

      1.创建实列 新建Model文件并在文件夹下新建user.js

    //导入db.js
    const mongoose = require('../db.js');
    const Schema = mongoose.Schema;
    // 新建Schema对象
    const userSchema = new Schema({
        name:String,
        age:Number,
        address:String,
        email:String
    })
    //使用model 第三个参数为表名 如果第三个参数不设置则默在表名后加s users
    const Models = {
        user:mongoose.model('user',userSchema,'user')
    };
    module.exports = Models;
    

      2.业务实现

      在更目录下新建controll并在下面新建user.js 

    const express = require('express');
    const router  = express.Router();
    // 导入实列
    const modalUser = require('../modal/user');
    
    // 查询用户列表
    router.post('/userList',function(req,res){
        let params = req.body;
        let param = {};
        console.log(param);
        modalUser.user.find(param,(err,data) =>{
            if(err){
                res.status(500).send()
                return
            } else {
                res.send({
                    state:200,
                    msg:'查询成功',
                    data:data
                })
            }
    
        });
    
    });
    //新增用户

    router.post('/addUser',function(req,res){
        modalUser.user.create(req.body,(err,data)=>{
    if(err){
    res.status(500).send()
    return
    } else{
    res.send({
    state:200,
    msg:'添加成功'
    })
    }

    })
    })
    //修改信息
    router.post('/updataUser',function(req, res){
    modalUser.user.update({'id':req.body.id},req.body, function(err,data){
    if(err){
    res.status(500).send()
    return
    } else {
    res.send({
    state:200,
    msg:'更新成功'
    })
    }
    })
    })
    //删除
    router.get('/deleteUser',function(req,res){
    modalUser.user.remove({'_id': req.query.id},function(err,data){
    if(err){
    res.status(500).send()
    return
    } else {
    res.send({
    state:200,
    msg:'删除成功'
    })
    }
    })
    })

    module.exports = router
  • 相关阅读:
    JavaScript基础知识点记录
    CSS基础知识点记录
    HTML基础知识点记录
    学习笔记------jsp基础
    学习笔记-------ultraedit
    【Exception—WebForm】当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。
    区块链技术基础语言(三十二):Go语言网络编程(下)
    区块链技术基础语言(三十一):Go语言网络编程(上)
    区块链技术基础语言(三十):Go语言常用工具包(下)
    区块链技术语言(二十九)—Go语言常用工具包(上)
  • 原文地址:https://www.cnblogs.com/xufeikko/p/13503236.html
Copyright © 2020-2023  润新知