const express = require('express');
const path = require('path')
const fs = require('fs')const rout = express.Router();const file_path = path.join(__dirname, '../data/student.json')// 查询学生列表  搜索学生信息
rout.get('/student', (req, res) => {fs.readFile(file_path, 'utf8', (err, data) => {if (err) {throw err;}data = JSON.parse(data)if (req.query.name) {data = data.filter((ele) => {if (ele.name.includes(req.query.name)) {return ele;}})}res.render('student/index', {title: '学生信息列表',data})})})// 删除学生信息rout.get('/student/remove', (req, res) => {const removeId = req.query.id;fs.readFile(file_path, 'utf8', (err, data) => {if (err) {throw err;}data = JSON.parse(data)const index = data.findIndex((ele, index) => {if (ele.id = removeId) {return index;}})if (index >= 0) {data.splice(index, 1)}fs.writeFile(file_path, JSON.stringify(data, null, 4), (err) => {res.redirect('/student')})})
})// 新建学生页面
rout.get('/student/add', (req, res) => {res.render('student/add.ejs')
})// 新建学生页面 提交
rout.post('/student/add/submit', (req, res) => {const studentToadd = Object.assign({id: Date.now()}, req.body)fs.readFile(file_path, 'utf8', (err, data) => {if (err) {throw err;}data = JSON.parse(data);data.push(studentToadd);fs.writeFile(file_path, JSON.stringify(data, null, 4), (err) => {res.redirect('/student')})})
})// 修改学生页面
rout.get('/student/update', (req, res) => {fs.readFile(file_path, 'utf8', (err, data) => {data = JSON.parse(data);data = data.find((ele) => {if (ele.id == req.query.id) {return ele;}})res.render('student/update.ejs', {data,})})})// 修改学生页面提交
rout.post('/student/update/submit', (req, res) => {fs.readFile(file_path, 'utf8', (err, data) => {if (err) {throw err;};console.log(req.body)data = JSON.parse(data);data.forEach((ele) => {if (ele.id == req.body.id) {Object.assign(ele, req.body)}});fs.writeFile(file_path, JSON.stringify(data, null, 4), (err) => {res.redirect('/student')})})})module.exports = rout;

Nodejs-增删改查-案列方法相关推荐

  1. sql增删改查_增删改查!sql2pandas方法手册

    数据分析 Author:louwill Machine Learning Lab 作为一名数据分析师,利用SQL熟练的取数是一项必备的基础能力.除了SQL以外,Python的pandas也为我们提供了 ...

  2. 【数据分析】pandas增删改查!sql2pandas方法手册

    数据分析 Author:louwill Machine Learning Lab 作为一名数据分析师or算法工程师,利用SQL熟练的取数是一项必备的基础能力.除了SQL以外,Python的pandas ...

  3. hibernate实现增删改查的各种方法

    1>接口(主要是增删改查的接口)BaseDao.java [java] view plain copy /** * * @author fly.zhou */ public interface  ...

  4. NODEJS增删改查数据库封装——阶段2

    config.json {"sql": {"host": "localhost","port": 3306," ...

  5. Android 中编写一个简易购物车,商品包括商品名称,单价,数量,可以对商品进行增删改查功能。(ArrayList,SQLite)

    Android 中编写一个简易购物车,商品包括商品名称,单价,数量,可以对商品进行增删改查功能.(ArrayList,SQLite) 布局(activity_main.xml): <?xml v ...

  6. 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查

    基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查 转载于:https://github.com/Meowv/Blog 本篇说一下自定义仓储的实现方式,其实在ab ...

  7. Node连接MySQL数据库进行基本的增删改查操作(一看就会)

    Node连接MySQL数据库进行基本的增删改查操作(一看就会) ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ...

  8. python实现四位一并法_python 全栈开发,Day4(列表切片,增删改查,常用操作方法,元组,range,join)...

    一.列表 列表是python中的基础数据类型之一,它是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = ['alex',123,Ture,(1,2,3,'wusir') ...

  9. Android复习07【创建数据库、insert()插入数据、查看数据库、根据列索引获取参数值、根据列名-返回索引、增删改查数据、数据分页、修改表结构、Room框架】

    2020-04-09-星期四-第八周 目   录 创建数据库 insert()方法 查看数据库(Save as保存) 菜鸟教程---SQLite数据库 根据 列索引 获取 参数值 列比较多---根据列 ...

最新文章

  1. C/C++:多个.cpp文件包括同一个.h头文件定义方法
  2. java jar包和war包_java中jar包和war包之间有什么区别
  3. Thrift之Protocol源码分析
  4. Sublime Less 自动编译成css
  5. Delphi判断文件是否正在被使用
  6. mysql 取数据 展示_php mysql_fetch_row逐行获取结果集数据并显示在table表格中
  7. c++ mmap写入速度_内存管理(24)mmap和缺页中断
  8. html+正则+换行+回车,正则与回车换行符使用详解
  9. 【编程题】判断一个整数对应的二进制数是否是回文
  10. ubuntu下jmxtrans 安装
  11. ie6下margin间距是两倍的解决办法
  12. gateway-统一权限-认证
  13. 关于DTC诊断故障码的获取与清除(ISO14229系列之14、19服务)
  14. usbasp下载器制作
  15. tolist方法python_python中如何使用tolist()方法将数组或者矩阵转换为列表?
  16. MATLAB学习笔记:求偏导
  17. Pytorch下基于lstm的股价预测
  18. notepad++之正则表达式的使用
  19. 特斯拉国产又怎样,十个月后就完蛋
  20. 原生js插件(超详细)

热门文章

  1. Git-Credential-Manager-for-Mac-and-Linux
  2. 给xen虚拟机添加硬盘分区格式化
  3. ExtJs懒人笔记(2) ExtJs页面布局
  4. 健康身心态的10条法宝
  5. 用实力给自己正名,YOLOv5:道路损伤检测我最强!GRDDC'2020大赛报告
  6. CVPR 2020|华为发布基于连续进化的CARS算法,0.4GPU天输出帕累托前沿
  7. 实用教程!使用YOLOv3训练自己数据的目标检测
  8. Python 多线程爬取西刺代理
  9. Python凭什么成为增速最快的编程语言:21条调查说明一切
  10. 「假期余额不足」安排用Python写个时间在线生成器 快夸我