我刚开始使用node.js和express.js学习网页开发。当我用Postman测试我的代码时,服务器崩溃了,并给出了这个错误this.$__.validationError =新的ValidationError(这个)。我正在创建连接到MongoDB和猫鼬包的后端服务器。
路线
const express = require('express')
const router = express.Router()
const {
create
} = require('./../controllers/courseControllers')
const {verifyAdmin, verify} = require('./../auth')
router.post('/create', verifyAdmin, async (req, res) => {
// console.log(req.body)
try{
create(req.body).then(result => res.send(result))
}catch(err){
res.status(500).json(err)
}
})
控制器
const Course = require('../models/Course');
//CREATE A COURSE
module.exports.create = async (reqBody) => {
const {courseName, description, price} = reqBody
let newCourse = new Course({
courseName: courseName,
description: description,
price: price
})
// console.log(newCourse)
return await newCourse.save().then((result, err) => result ? result : err)
}
模式
const mongoose = require('mongoose');
const courseSchema = new mongoose.Schema({
courseName: {
type: String,
required: [true, `Course name is required`],
unique: true
},
description: {
type: String,
required: [true, `Course description is required`]
},
price: {
type: Number,
required: [true, `Price is required`]
},
isOffered: {
type: Boolean,
default: true
},
enrollees: [
{
userId: {
type: String,
required: [true, `userId is required`]
},
enrolledOn: {
type: Date,
default: new Date()
}
}
]
}, {timestamps: true})
module.exports = mongoose.model("Course", courseSchema);发布于 2022-07-12 16:45:54
考虑到您提供的信息,我可以说您在创建控制器时缺少了加入者参数,因为注册者已被设置为必需的,我希望它对您有用,如果不让我知道的话。
https://stackoverflow.com/questions/71456124
复制相似问题