【问题标题】:I get this error: this.$__.validationError = new ValidationError(this)我收到此错误:this.$__.validationError = new ValidationError(this)
【发布时间】:2022-07-13 00:45:54
【问题描述】:

我是使用 node.js 和 express.js 学习 Web 开发的新手。当我在 Postman 中测试我的代码时,服务器崩溃并给我这个错误 this.$__.validationError = new ValidationError(this)。 我正在创建连接到 MongoDB 和 mongoose 包的后端服务器。

路线

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);

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    鉴于您提供的信息,我可以说您在创建控制器时缺少注册者参数,因为注册者已设置为必需,如果不告诉我,我希望它对您有用。

    【讨论】:

      猜你喜欢
      • 2017-05-20
      • 2013-09-17
      • 1970-01-01
      • 2013-07-16
      • 2018-11-05
      • 2015-02-15
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      相关资源
      最近更新 更多