как выполнить грубую операцию дескриптора проекта в какую-то функцию (один модуль) в node.js - PullRequest
0 голосов
/ 07 ноября 2019

Я хочу создать один модуль для обработки всех необработанных операций проекта. Я применяю все динамические способы в приложении. Пожалуйста, помогите мне так, что я в некотором замешательстве.

Я создал три операции 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;

Любая идея для этого типа динамических способов и любые ссылки предложения, учебное пособие, кодирование.

1 Ответ

1 голос
/ 07 ноября 2019

Ознакомьтесь с этой статьей , в которой объясняется, как сделать CRUD многократного использования.

...