node.js - 如何在 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};`
解决方案
在 Employee Schema 文件中(假设为 employee.js),将最后两行替换为:
module.exports = mongoose.model('Employee',employeeSchema);
在 employeeController.js 文件中,将第四行替换为:
const Employee = require("./employee"),
推荐阅读
- python - 如何使用 pygame 和 pygame.MOUSEBUTTONDOWN 等成员为脚本编写单元测试?
- android - 预期 begin_array 但在行是字符串
- mysql - 有没有办法按照在子句中输入的顺序显示 INNER JOIN 条目?
- json - 使用 Alamofire 和 SwiftyJson 解析数据
- angular - 为什么是
没有在 Angular 7 中显示的数据源 - sql - 如何获得除一列外所有值都相同的两行
- azure-functions - 我们如何计算运行编排功能的总时间
- node.js - 提供所需值时如何修复 mongoose 验证器错误,但 mongoose 无法识别
- python - Keras get_weights() 不返回所有权重
- python - 在 Windows 机器上,安装了 Python 3.7,但似乎 3.6 正在运行