Как экспортировать несколько схем в одном файле в мангусте - PullRequest
0 голосов
/ 30 сентября 2019

Я хочу экспортировать две схемы в файл js модели и использовать в файле js маршрутизатора. Я пробовал этот код ниже.

Это мой файлtification.js (модели)

const mongoose = require('mongoose');
const Schema = mongoose.schema;

const requestCertificationSchema = mongoose.Schema({
 userid: { type: String, require: true },
 certName: { type: String, require: true },
 certType: { type: String, require: true },
 examName: { type: String, require: true },
 examYear: { type: String, require: true },
 examIndex: { type: String,  require: true },
 reqDate: {type: String, require: true},
 state: { type: String, require: true}
});

const requestCertification = mongoose.model("requestCertification", requestCertificationSchema);

module.exports.saveRequest = function (newRequestCertification, callback) {
     newRequestCertification.save(callback);
};

const requestStudentstatusSchema = mongoose.Schema({
 studentName: { type: String, require: true },
 admissionNum: { type: String, require: true },
 dateofAdmission: { type: String, require: true },
 currentStatus: { type: String, require: true },
 description: { type: String, require: true },
});

const requestStudentstatus=  mongoose.model("requestStudentstatus", requestStudentstatusSchema);

module.exports = {
  requestCertification: requestCertification,
  requestStudentstatus: requestStudentstatus
}

Это мой файлtification.js (маршруты)

const router = express.Router();
const Certification = require('../models/certification');
const config = require('../config/database');

router.post("/requestCert", function (req, res) {
    const newRequest = new requestCertification({
        userid: req.body.userid,
        certName: req.body.certName,
        certType: req.body.certType,
        examName: req.body.examName,
        examYear: req.body.examYear,
        examIndex: req.body.examIndex,
        reqDate:req.body.reqDate,
        state: req.body.state
    });
    console.log(newRequest);
    Certification.requestCertification.saveRequest(newRequest, function (err, request) {
        if (err) {
            res.json({ state: false, msg: "Data inserting Unsuccessfull..!" });
        }
        if (request) {
            res.json({ state: true, msg: "Data inserted Successfully..!" });
        }
    });
});

Когда я вызываю этот URL, я показываю эту ошибку! .

ReferenceError: requestCertification не определен

1 Ответ

0 голосов
/ 30 сентября 2019

Измените этот код на этот в маршрутах /tification.js

const router = express.Router();
const {requestCertification} = require('../models/certification');
const {requestStudentstatus} = require('../models/certification');
const config = require('../config/database');

router.post("/requestCert", function (req, res) {
    const newRequest = new requestCertification({
        userid: req.body.userid,
        certName: req.body.certName,
        certType: req.body.certType,
        examName: req.body.examName,
        examYear: req.body.examYear,
        examIndex: req.body.examIndex,
        reqDate:req.body.reqDate,
        state: req.body.state
    });
    // console.log(newRequest);
    newRequest
        .save()
        .then(result => {
            console.log(result)
            res.json({ state: true, msg: "Data inserted Successfully..!" });
        })
        .catch(error => {
            console.log(error)
            res.json({ state: false, msg: "Data inserting Unsuccessfull..!" });
        })
});

и удалите функцию saveRequest () в моделях /tification.js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...