You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Udemy NodeJS课程:Mongoose Schema请求失败求助

相关截图

  • Postman 请求配置:
    Postman
  • Mongoose Schema 定义:
    Mongoose Schema
  • 创建 Tour 的处理函数:
    Create Tour Handler

问题排查与解决步骤

核心原因是后端未正确接收到price字段,导致Mongoose触发必填字段验证错误,按以下顺序排查:

  1. 修正Postman请求格式
    当前你用的是form-data格式发送请求,但如果后端没配置解析form-data的中间件(如multer),req.body会是空对象。切换到raw格式,选择JSON类型后重新发送请求。

  2. 确认后端请求体解析配置
    确保你的Express应用在路由之前添加了解析JSON请求体的中间件:

    const express = require('express');
    const app = express();
    
    // 必须添加这行,否则无法解析JSON请求体
    app.use(express.json());
    

    缺少这行代码的话,后端无法读取JSON格式的请求数据,req.body为空,必然触发price缺失的错误。

  3. 核对字段拼写与类型
    检查Postman中price字段的拼写是否和Schema定义完全一致(注意Schema里是小写price),同时确保字段值为数字类型,而非字符串。

  4. 添加日志验证请求体
    在创建Tour的处理函数里添加日志,确认后端实际接收到的请求数据:

    console.log('请求体内容:', req.body);
    

    运行后查看控制台输出,就能明确后端是否真的拿到了price字段。

内容的提问来源于stack exchange,提问作者bigtoe51

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 10:17:06