简单做了一个代办事项列表系统 ,增删改查。 前台页面用 jquery 后台用nodejs ,数据库用的是mongdoDB 。
2021-01-10 20:49
1186 查看
引入npm 第三方mongoose包连接mongoDb本地数据库todolist const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/todolist',{ useNewUrlParser: true , useUnifiedTopology: true }); //导出数据库连接文件 module.exports=mongoose; //导入连接数据库文件 const mongoose=require('./connect') const Schema = mongoose.Schema; 这里直接用mongoose schema 建模 const userSchema=new Schema({ name:{type:String}, password:{type:String} }) const todoContentSchema=new Schema({ data:{type:String}, isV:{type:Number,default:1} , com:{type:String,default:1}, th:{type:String,default:0} }) //实例化模型 const todoContent = mongoose.model('todoContent', todoContentSchema); const User = mongoose.model('User', userSchema); // const login= mongoose.model('login', userShema); // const Cat = mongoose.model('Cat', catSchema); module.exports={ User,todoContent } //后台代码 用node js express 框架 const express=require('express') const bodyParse=require('body-parser') //这里用cors第三方包做了跨域处理 const cors=require('cors') //导入连接数据库的文件 const { User,todoContent}=require('./model/index') //导入token 文件 const {verifyToken,createToken}=require('./token') const app=express() app.use(express.json()) app.use(cors()) // app.use(express.urlencoded({extended:false})) // var urlencodedParser = bodyParse.urlencoded({ extended: false }) const PORT=8220 //注册用户接口 app.post("/regist",(req,res)=>{ //console.log(req.body); const UserDate = req.body; const name=req.body.name; const password=req.body.password; const user=new User(UserDate) user.save().then((data)=>{ console.log(data); res.send({ status:200, msg:"添加数据成功", data:{ name, password } }) }) }) //登录用户接口 app.post('/login',(req,res)=>{ const {name,password}=req.body; User.findOne({name}).then((UserDate)=>{ // console.log(UserDate); if(password===UserDate.password){ const token=createToken(UserDate) res.send({ status:300, msg:"登录成功", data:{ name, password, token } }) }else{ res.send({ status:303, msg:"用户名或者密码错误" }) } }) }) //添加数据接口 app.post('/todo',(req,res)=>{ const data=req.body; console.log(data); // res.send(data) const todolist=new todoContent(data) todolist.save().then((data)=>{ res.send({ status:203, msg:"添加数据成功", data:{ data } }) }) }) //修改数据接口 app.patch("/todo/:id", (req, res) => { console.log(req.params.id); console.log(req.body); todoContent.updateOne({ _id: req.params.id }, req.body).then((updata) => { todoContent.find({ _id: req.params.id }).then((data) => { res.send({ status: 400, msg: "更新成功", data }); }); }); }) //删除数据接口 app.delete("/todo/:id", (req, res) => { const id = req.params.id; todoContent.updateOne({ _id: id }, { com: 0 }).then((data) => { res.send({ status: 500, msg: "删除成功", data, }); }); }); //拿到当前用户名 app.get("/todo",vv,(req,res)=>{ //return res.send(req.body.usertoken) const id = req.params.id; const data=req.body.usertoken.data console.log(data); console.log(id) res.send({ status:410, msg:"获取用户名成功", data:{ user: req.body.usertoken.data } }) }) //拿到所有代办事项数据 app.get("/data",(req,res)=>{ todoContent.find({com:"1"}).then((data)=>{ res.send({ status:306, msg:"获取数据成功", data:{ data } }) }) }) //完成数据 app.put('/data/:id',(req,res)=>{ const id = req.params.id; todoContent.updateOne({_id:id}, {$set:{th:1}} ).then((data)=>{ res.send({ status:400, msg:"更新成功" }) } ) }) //手写中间件验证token function vv(req, res, next) { const token = req.headers.authorization.split(" ")[1]; const usertoken = verifyToken(token); // console.log(usertoken); if(!usertoken){ res.sendStatus(401) }else{ req.body.usertoken=usertoken; next() } } app.listen(PORT,()=>{ console.log(`服务运行在${PORT}`); })
相关文章推荐
- jquery与后台进行数据交互--前台发单一数据对象,后台返回一个json字符串 jsp页面
- 简单页面+java后台+数据库,实现从页面对数据库的增删改查
- 在控制台上写一个简单的数据库增删改查系统
- 让前台页面商品列表显示后台数据库中的商品
- jquery与后台进行数据交互--前台发单一数据对象,后台返回一个json字符串 serlet配置页面
- 使用 NodeJs 实现一个本地接口数据系统,无需数据库,让前端独立于后台开发
- ## 基于jsp+jQuery+javaBean封装+tomcat实现简单的数据库增删改查(新闻管理系统)
- 让前台页面商品列表显示后台数据库中的商品
- ASP.NET Core 打造一个简单的图书馆管理系统 (修正版)(二)用户数据库初始化、基本登录页面以及授权逻辑的建立
- 关于前台注册信息页面与后台数据库连接
- Ajax (部分一)自己做的,总结页面向后台传Form值、单个值和后台向前台传一个或是一组值
- 简单的考生管理系统,java以XML为数据库,jaxp操作XML实现简单的增删查功能
- Domino后台代理和前台Web页面交换、处理XML过程(jquery方式)
- 如何用 Nodejs 分析一个简单页面
- 前台js escape及后台C# Server.UrlEncode 对QueryString传参的含~!@#$%^&*等特殊字符的处理 通常情况下,我们在List列表页面,会包含Create,Edit
- 后台管理系统问题:点击a链接,打开二级页面的同时,iframe页面中的a链接新建了一个页面
- jQuery 实现一个简单的信息反馈或者信息收集的页面
- 一个文件系统的后台及前台设计
- NodeJS搭建博客系统(二)构建一个markdown页面
- Ajax (部分二:prototype.js代码)总结页面向后台传Form值、单个值和后台向前台传一个或是一组值