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