日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Node.js+Express+MongoDB 实现学生增删改查

發布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Node.js+Express+MongoDB 实现学生增删改查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

選用Node.js,Express,MongoDB來實現一個學生信息的增刪改查。

  • Express框架搭建服務器
  • art-template模板實現頁面
  • MongoDB數據庫
  • Mongoose操作數據庫

安裝

  • npm install express mongoose
  • npm install art-template express-art-template
  • npm install body-parser bootstrap jquery

文件目錄

MongoDB 數據庫

// student.js const mongoose = require('mongoose') const Schema = mongoose.Schema mongoose.set('useFindAndModify', false) mongoose.connect('mongodb://localhost/mytest', {useNewUrlParser: true}) const studentSchema = new Schema({username: {type: String,require: true},gender: {type: Number,enum: [0, 1],default: 0},age: {type: Number,},resume: {type: String} }) module.exports = mongoose.model('Students', studentSchema) 復制代碼

路由

// router.js路由文件 const express = require('express') const router = express.Router() const Student = require('./models/student')// 首頁展示 router.get('/', (req, res, next) => {Student.find( (err, students) => {if (err) {return res.status(500).send('Server error...')}res.render('index.html', {students: students})}) }) // 頁面跳轉 router.get('/students/new', (req, res, next) => {res.render('topic/new.html') }) // 添加 router.post('/students/new', (req, res, next) => {new Student(req.body).save( (err, ret) => {if (err) {return res.status(500).send('Server error...')}res.redirect('/')}) }) // 頁面跳轉到編輯頁面 router.get('/students/edit', (req, res, next) => {var id = req.query.id.replace(/"/g,'')Student.findById(id, (err, student) => {if (err) {return res.status(500).send('Server error...')}res.render('topic/edit.html', {student: student})}) }) // 編輯 router.post('/students/edit', (req, res, next) => {var id = req.body.id.replace(/"/g, '')Student.findByIdAndUpdate(id, req.body, (err, ret) => {if (err) {return res.status(500).send('Server error...')}res.redirect('/')}) }) // 刪除 router.get('/students/delete', (req, res, next) => {var id = req.query.id.replace(/"/g, '')Student.findByIdAndDelete(id, (err, ret) => {if (err) {return res.status(500).send('Server error...')}res.redirect('/')}) }) // 導出接口 module.exports = router 復制代碼

入口文件

// app.js入口文件 const express = require('express') const router = require('./router') const bodyParser = require('body-parser') const path = require('path') const app = express() const port = 5000 // 引入Nodejs自帶的child_process模塊 // 用以使用默認瀏覽器打開地址 const childProcess = require('child_process');app.use('/node_modules', express.static(path.join(__dirname, 'node_modules'))) app.use('/public', express.static(path.join(__dirname, 'public'))) app.engine('html', require('express-art-template')) // 配置 body-parser app.use(bodyParser.urlencoded({extended: false})) app.use(bodyParser.json()) app.use(router) // 統一處理錯誤請求 app.use( (req, res, next) => {res.render('404.html') }) app.listen(port, () => {console.log(`server runs on http://localhost:${port}`);// 使用默認瀏覽器打開地址childProcess.exec(`start http://localhost:${port}`); }) 復制代碼

實現效果

補充

可以下載nodemon自動監視文件的變化,一旦文件變化,自啟動服務器。

npm install nodemon -g // 全局安裝

nodemon app.js // 使用nodemon開啟服務器

總結

學習了Node.js后,用這個較為簡單的任務來測試一下自己的學習情況。這個項目已經實現一兩周了,當時沒能盡快的寫下來,現在也廢話少說,直接上代碼了。

學習Node.js后,發現Node.js越來越有趣了。

轉載于:https://juejin.im/post/5ca75ec2f265da307352dc74

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Node.js+Express+MongoDB 实现学生增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。