首页 > 解决方案 > 如何在 nodejs 中修复此架构错误?

问题描述

1.错误

C:\Users\Jurjiu\Desktop\shit\node_modules\mongoose\lib\index.js:502 throw new mongoose.Error.MissingSchemaError(name); ^ MongooseError [MissingSchemaError]:尚未为模型“Employee”注册模式。在新的 MissingSchemaError (C:\Users\Jurjiu\Desktop\shit\node_modules\mongoose\lib\error\missingSchema.js:22:11) 在 Mongoose.model (C:\Users\ Jurjiu\Desktop\shit\node_modules\mongoose\lib\index.js:502:13) 在对象。(C:\Users\Jurjiu\Desktop\shit\controllers\employeeController.js:4:25) 在 Module._compile (internal/modules/cjs/loader.js:1133:30) 在 Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10) 在 Module.load (internal/modules/cjs/loader.js:977:32) 在 Function.Module._load (internal/modules/cjs/loader.js :877: 14) 在 Module.require (internal/modules/cjs/loader.js:1019:19) 在 Object. (C:\Users\Jurjiu\Desktop\shit\server.js:8:26) 在 Module._compile (internal/modules/cjs/loader.js:1133:30) 在 Object.Module._extensions..js (internal /modules/cjs/loader.js:1153:10) 在 Module.load (internal/modules/cjs/loader.js:977:32) 在 Function.Module._load (internal/modules/cjs/loader.js:877 :14) 在 Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12) at internal/main/run_main_module.js:18:47 [nodemon] 应用程序崩溃 - 在开始之前等待文件更改.. .

2. 代码——来自employeeController.js

    const express = require('express');
    var router = express.Router();
    const mongoose=require('mongoose');
    const Employee=mongoose.model('Employee');


    router.get('/', ( req , res) => {
        res.render("employee/addOrEdit.hbs", {
            viewTitle : "Insert Employee"
        });
    });

    router.post('/', ( req , res) => {
        InsertRecord( req , res);
    });



    function InsertRecord(req,res){
        var employee = new Employee();
         employee.fullName = req.body.fullName;
         employee.mail = req.body.email;
         employee.mobile = req.body.mobile;
         employee.city = req.body.city;
         employee.save((err , doc) => {
        if(!err)
                 res.redirect('employee/list');
         else{
             console.log('Error during record insertion : ' + err);

         }
     });}


    router.get('/list', ( req , res) => {
        res.json('from list');
    });

    module.exports = router;

员工

    const mongoose=require('mongoose');

    var employeeSchema=new mongoose.Schema({
        fullname:{
            type : String
        },
        email:{
            type : String
        },
        mobile: {
            type : String
        },
        mobile: {
            type : String
        }


    });

    mongoose.model('Employee',employeeSchema);
    module.exports={Employee};`

标签: node.js

解决方案


在 Employee Schema 文件中(假设为 employee.js),将最后两行替换为:

module.exports = mongoose.model('Employee',employeeSchema);

在 employeeController.js 文件中,将第四行替换为:

const Employee = require("./employee"),

推荐阅读