B站学习node.js,用Expres实现简单的增删改查(MongoDB实现)

    科技2022-07-15  128

    本章博客主要针对之前写的一篇博客的修改

    博客连接: https://blog.csdn.net/belle_mei/article/details/108404568

    主要修改的部分

    增加了一个连接数据库和创建表的文件student.js var mongoose = require("mongoose"); mongoose.connect("mongodb://localhost:27017/test", { useNewUrlParser: true, useUnifiedTopology: true, }); var Schema = mongoose.Schema; var studentSchema = new Schema({ name: { type: String, required: true, }, gender: { type: Number, enum: [0, 1], default: 0, }, age: { type: Number, }, hobbies: { type: String, }, }); module.exports = mongoose.model("Student", studentSchema); router.js 文件的修改的主要部分 router.post("/students/new", function (req, res) { //1、获取表单请求 //2、处理 //将数据保存到db.json文件中以持久化 //3、发送响应 //先读取处理,转成对象 //然后往数据中push数据 //将对象转换为字符串 //最后将字符串写入文件 //这是MongoDB数据库操作 new Student(req.body).save(function (err) { if (err) { return res.status(500).send("Server Error!"); } res.redirect("/students"); }); //这是文件操作时 // Student.save(req.body, function (err) { // if (err) { // return res.status(500).send("Server Error!"); // } // res.redirect("/students"); // }); }); router.get("/students/edit", function (req, res) { //1、在客户端的列表页中处理链接问题(需要id参数) //2、获取需要编辑学生的id //3、渲染编辑页面 //这里数据库和文件操作一样 Student.findById(req.query.id, function (err, student) { if (err) { return res.status(500).send("Server Error!"); } res.render("edit.html", { student: student, }); }); }); router.post("/students/edit", function (req, res) { // Student.updateById(req.body, function (err) { // if (err) { // return res.status(500).send("Server Error!"); // } // res.redirect("/students"); // }); Student.findByIdAndUpdate(req.body.id, req.body, function (err) { if (err) { return res.status(500).send("Server Error!"); } res.redirect("/students"); }); }); router.get("/students/delete", function (req, res) { //1、获取要删除的id //2、根据id进行删除操作 //3、根据操作结果发送响应数据 // Student.deleteById(req.query.id, function (err) { // if (err) { // return res.status(500).send("Server Error!"); // } // res.redirect("/students"); // }); Student.findByIdAndDelete(req.query.id, function (err) { if (err) { return res.status(500).send("Server Error!"); } res.redirect("/students"); }); }); 注意在首页的部分 <tr> <!--这这里要将$value.id改成$index + 1,否则页面中显示的序号就是MongoDB数据表中的id数(一串很长的字符串) --> <td>{{$index + 1}}</td> <td>{{$value.name}}</td> <td>{{$value.gender}}</td> <td>{{$value.age}}</td> <td>{{$value.hobbies}}</td> <td> <a href="/students/edit?id={{$value.id}}">编辑</a> <a href="/students/delete?id={{$value.id}}">删除</a> </td> </tr>

    总结

    本次的学习让我了解了MongoDB数据库,虽然是一个简单的增删查改,但是里面蕴藏的知识却是丰富的,希望自己往后能够多加思考问题,多尝试解决问题。

    Processed: 0.013, SQL: 8