app.js
const express = require('express');
const app = express();
const port = 2500;
const mongoose = require('mongoose');
const admin = require('./controller/admin_control');
const principle = require('./controller/principle_control');
const teacher = require('./controller/teacher_control');
const student = require('./controller/student_control');
const result = require('./controller/result_control');
mongoose.set('useCreateIndex',true);
mongoose.connect(
"mongodb://localhost:27017/school",{ useNewUrlParser: true},err => {
if(err) throw err.message;
console.log('mongodb connection successfully');
},);
app.use(express.json());
app.use(express.urlencoded({extended: true}));
app.use('/admin',admin);
app.use('/principle',principle);
app.use('/teacher',teacher);
app.use('/student',student);
app.use('/result',result);
app.listen(port,function(req,res){
console.log('your port is',port);
})
model/teacher.js
var mongoose = require('mongoose');
const uniqueValidator = require('mongoose-unique-validator');
const common = require('../controller/common');
var teacherSchema = new mongoose.Schema({
name:{
type: String,required: true
},email:{
type: String,required: true,lowercase: true,unique: true,validate: [common._validateEmail,'Please fill a valid email address']
},password:{
type: String,class:{
type: Number,unique: true
},degree: {
type: String,mobile_no:{
type: String,validate: [common._validmobile]
},user_type:{
type: String,required: true
}
});
teacherSchema.plugin(uniqueValidator);
module.exports = mongoose.model("teacher",teacherSchema);
model/student.js
var mongoose = require('mongoose');
//const uniqueValidator = require('mongoose-unique-validator');
const common = require('../controller/common');
var studentSchema = new mongoose.Schema({
// _id: mongoose.Schema.Types.ObjectId,name:{
type: String,class: {
type: Number,roll_no: {
type: Number,required: true
}
});
// studentSchema.plugin(uniqueValidator);
module.exports = mongoose.model("student",studentSchema);
controller/teacher_controller.js
let express = require('express');
let router = express.Router();
let teacher = require('../model/teacher');
let admin = require('../model/admin');
let common = require('./common');
router.get('/log',res){
Promise.all([
teacher.findOne({ email: req.body.teacher})
]).then(function(data){
res.send(data);
console.log(data);
}).catch(function(err){
res.send("please valid email");
})
})
router.post('/insert_teacher',res){
teacher.create(req.body,function(err,data){
if(err){
common._requirefield(req,res)
} else {
common._insertsuccess(res,data);
}
})
});
router.get('/get_teacher',res){
teacher.find({},data){
if(err){
common._errget(err,res);
} else {
if (data == null || data == 'undefined' || data == "") {
common._foundnull(res)
} else {
common._foundsuccess(res,data);
}
}
})
})
router.put('/edit_teacher',res){
let json = {};
teacher.update({ name: req.body.name },req.body,data){
if(err){
common._errupdate(err,res);
} else {
if (data == null || data == 'undefined' || data == "") {
common._foundnull(res)
} else {
common._successupdate(res,data);
}
}
})
});
router.delete('/delete_teacher',res){
teacher.deleteone({name: req.body.name},data){
if(err){
common._errdelete(err,res);
} else {
if (data == null || data == 'undefined' || data == "") {
common._foundnull(res)
} else {
common._successdelete(res,data);
}
}
})
});
module.exports = router;
controller/student_controller.js
let express = require('express');
let router = express.Router();
let student = require('../model/student');
let admin = require('../model/admin');
let common = require('./common');
router.post('/insert_student',res){
student.create(req.body,data){
if(err){
res.send(err);
} else {
res.send(data);
}
})
})
router.get('/get_student',res){
student.find({},data);
}
}
})
})
router.put('/edit_student',res){
student.update({ name: req.body.name },data);
}
}
})
});
router.delete('/delete_student',res){
student.deleteone({name: req.body.name},data);
}
}
})
});
router.put('/change_std_rollno',res){
var filter = { class: req.body.class };
var newValues = { $set: { mobile_no: req.body.mobile_no } }
student.updateMany(filter,newValues,data){
if(err){
res.send(err);
} else {
res.send(data);
console.log(data);
}
})
})
router.delete('/std_delete_many',res){
var filter = { class: req.body.class };
student.deleteMany(filter,data){
if(err){
res.send(err);
} else {
res.send(data);
console.log(data);
}
})
})
module.exports = router;
关于这种动态方式的任何想法和任何建议链接,教程,编码。