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

MERN栈POST请求后MongoDB返回仅含_id、__v的空白对象如何解决

问题排查结论

你的服务端代码存在一处配置遗漏,是导致该问题的直接原因:

  • Express 默认不解析 POST 请求的 JSON 格式请求体,你的 server/index.js 中没有添加对应的解析中间件,导致 req.body 为空,新建数据库文档时没有业务字段值,仅会返回MongoDB自动生成的_id和__v字段。
修复方案

修改 server/index.js 代码,在 app.use(cors()) 之后、路由注册之前添加 JSON 解析中间件:

app.use(cors());
// 新增下面这行
app.use(express.json());

app.use('/movements', movementRoutes)
验证方法

修复后可以在 createMovement 逻辑中打印 req.body 确认参数是否正常获取:

export const createMovement = async (req,res) => {
    // 新增打印,确认能拿到前端传递的 movementName、movementWeight 字段
    console.log('接收参数:', req.body)
    const move = req.body;
    // 剩余原有逻辑...
};

如果打印结果正常,调用POST接口就会返回你预期的完整字段,若仍有问题再排查前端请求的参数格式、字段名是否和Schema定义一致即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:15:04