如何将所有项目的原始操作处理到node.js中的某个功能(一个模块)中

我想创建一个模块来处理项目的所有操作。 我正在将所有动态方式应用到应用程序中。 请这样帮助我,我有些困惑。 我为老师和学生创建了三个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,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;

关于这种动态方式的任何想法和任何建议链接,教程,编码。

huanglianxing 回答:如何将所有项目的原始操作处理到node.js中的某个功能(一个模块)中

查看documentation,其中介绍了如何制作可重用的CRUD。

本文链接:https://www.f2er.com/3147191.html

大家都在问