簡體   English   中英

我收到此錯誤:this.$__.validationError = new ValidationError(this)

[英]I get this error: this.$__.validationError = new ValidationError(this)

我是使用 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);

鑒於您提供的信息,我可以說您在控制器中缺少創建時的登記者參數,因為登記者已設置為必需,如果不讓我知道,我希望它對您有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM