简单的学生信息管理

一、基本操作

1、采用express生成器,express+文件名+—view=ejs;
2、cd到该文件夹,npm install
3、npm install mongoose -D,安装mongoose
4、运行 npm run start

二、具体内容

1、在生成的文件中做一下修改:
(1)app.js中修改:

app.set('views', path.join(__dirname, 'views'));
app.engine('.html',require('ejs').__express);
app.set('view engine', 'html');

(2)在www文件中添加相应信息,连接数据库

 var mongoose=require('mongoose');
 mongoose.connect('mongodb://localhost/student');
 var db=mongoose.connection;
 db.on('error',()=>{
  console.log('数据库连接失败')
 });
 db.once('open',()=>{
  console.log('数据库连接成功')
 })

(3)信息提示模板

function showError(message,res) {
    var result=``
    res.send(result);
}
module.exports=showError

数据库字段模板

var mongoose=require('mongoose')

var Student=mongoose.model('Student',{
    studentId:String,
    name:String,
    sex:String,
    age:Number,
    class:String,
    ID:String
})
module.exports=Student

引入模板

var path=require('path');
var Student=require(path.join(__dirname,'../model/student.js'))
var message=require(path.join(__dirname,'../message/alertMessage.js'))

index.js文件

var express = require('express');
var router = express.Router();
var path=require('path');
var Student=require(path.join(__dirname,'../model/student.js'))
var message=require(path.join(__dirname,'../message/alertMessage.js'))

/* 信息主页 */
router.get('/', function(req, res, next) {
    var students=null;
    Student.find({}).then((data)=>{
        console.log('-----------',data)
        if(!data.length==0){
            students=data;
        //console.log('data------',data)
                 res.render('index', { 
                    title: '学生信息管理' ,
                    students:students
                });
            }else{
                res.render('index', { 
                    title: '学生管理系统' ,
                    message:'暂无数据',
                    students:students
                });
            }
        
    },(err)=>{
        message('数据查找失败',res)
    })
   
});
//添加学生信息
router.get('/addStudent',(req,res)=>{
    res.render('student/addStudent')
})
router.post('/addStudent',(req,res)=>{
    //判断学号是否重复
    Student.find({studentId:req.body.studentId}).then((data)=>{
        if(!data.length==0){
            message('该学生已经存在',res)
        }else{
            Student.create(req.body).then((data)=>{
                res.render('student/addStudent')
            },(err)=>{
                message('学生信息添加失败',res)
            })
        }
    },(err)=>{
        message('信息查找失败',res)
    })
    
})

//修改学生信息
router.get('/updateStudent/:studentId',(req,res)=>{
    var student=null;
    //console.log('--------',req.params.studentId)
    Student.findOne({studentId:req.params.studentId}).then((data)=>{
        student=data;
        //console.log('11---------',data)
        res.render('student/update',{
            student:student
        })
    },(err)=>{
        message('数据查找失败',res)
    })
    
})
router.post('/updateStudent/:studentId',(req,res)=>{
    Student.update({studentId:req.body.studentId},{$set:req.body}).then((data)=>{
        res.redirect('/')
    },(err)=>{
        message('信息修改失败',res)
    })
})

//删除学生信息
router.get('/removeStudent/:studentId',(req,res)=>{
    Student.remove({studentId:req.params.studentId}).then((data)=>{
        res.redirect('/')
    },(err)=>{
        message('信息删除失败',res)
    })
})
module.exports = router;

信息首页



  
    
    <%= title %>
    
    
  
  
    

<%= title %>

增加

<% if(students){%> <% for(var i=0;i <%}%> <%}else{%>

<%=message%>

<%}%>
学号 姓名 性别 年纪 班级 身份证号 操作
<%=students[i].studentId%> <%=students[i].name%> <%=students[i].sex%> <%=students[i].age%> <%=students[i].class%> <%=students[i].ID%> 修改 删除

信息添加页面()




    
    添加学生信息
     


    
    

添加学生信息


修改页面做部分修改
action="/updateStudent/<%=student.studentId%>"传递参数

首页显示效果

简单的学生信息管理_第1张图片
2017-05-30_124047.png

你可能感兴趣的:(简单的学生信息管理)