Я хочу создать один модуль для обработки всех необработанных операций проекта. Я применяю все динамические способы в приложении. Пожалуйста, помогите мне так, что я в некотором замешательстве.
Я создал три операции CRUD для учителя и ученика. это все CRUD в отдельный файл. я хочу, чтобы все операции CRUD обрабатывались одним модулем динамически. У меня есть некоторая путаница с этим типом модуля обработки. Любая идея для этого типа динамических способов и любые ссылки предложения, учебник, кодирование. Помогите мне, пожалуйста. спасибо
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,
required: true
},
class:{
type: Number,
required: true,
unique: true
},
degree: {
type: String,
required: true
},
mobile_no:{
type: String,
required: true,
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,
required: true
},
email:{
type: String,
required: true,
lowercase: true,
unique: true,
validate: [common._validateEmail, 'Please fill a valid email address']
},
password:{
type: String,
required: true
},
class: {
type: Number,
required: true
},
roll_no: {
type: Number,
required: true
},
mobile_no:{
type: String,
required: true,
validate: [common._validMobile]
},
user_type:{
type: String,
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', function(req, 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', function(req, res){
teacher.create(req.body, function(err, data){
if(err){
common._requirefield(req, res)
} else {
common._insertsuccess(res, data);
}
})
});
router.get('/get_teacher', function(req, res){
teacher.find({}, function(err, 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', function(req, res){
let json = {};
teacher.update({ name: req.body.name }, req.body, function(err, 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', function(req, res){
teacher.deleteOne({name: req.body.name}, function(err, 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', function(req, res){
student.create(req.body, function(err, data){
if(err){
res.send(err);
} else {
res.send(data);
}
})
})
router.get('/get_student', function(req, res){
student.find({}, function(err, 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_student', function(req, res){
student.update({ name: req.body.name }, req.body, function(err, 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_student', function(req, res){
student.deleteOne({name: req.body.name}, function(err, data){
if(err){
common._errdelete(err, res);
} else {
if (data == null || data == 'undefined' || data == "") {
common._foundnull(res)
} else {
common._successdelete(res, data);
}
}
})
});
router.put('/change_std_rollno', function(req, res){
var filter = { class: req.body.class };
var newValues = { $set: { mobile_no: req.body.mobile_no } }
student.updateMany(filter,newValues, function(err, data){
if(err){
res.send(err);
} else {
res.send(data);
console.log(data);
}
})
})
router.delete('/std_delete_many', function(req, res){
var filter = { class: req.body.class };
student.deleteMany(filter, function(err, data){
if(err){
res.send(err);
} else {
res.send(data);
console.log(data);
}
})
})
module.exports = router;
Любая идея для этого типа динамических способов и любые ссылки предложения, учебное пособие, кодирование.