NextJS中MongoDB Atlas数据PUT更新失败问题排查与解决
NextJS + Mongoose PUT接口更新失效问题排查与解决
问题背景
我基于NextJS、Tailwind、MongoDB Atlas和Mongoose搭建了模拟商城的后台管理面板,实现了包含GET、POST、PUT、DELETE的CRUD接口。其中GET、POST、DELETE功能均正常,但PUT更新功能完全无法生效。这段PUT接口代码是直接复用之前YouTube教程项目里的代码,当时是可以正常运行的。
排查过程
- 最初怀疑是MongoDB的
_id类型不匹配问题:前端传入的是字符串类型_id,后端未转换为Mongoose的ObjectId,于是在PUT接口中打印req.body._id,结果发现该值为undefined。 - 顺着请求体参数缺失的线索排查前端逻辑,最终定位到
ProductForm组件中axios的PUT请求传参多了一层不必要的括号。
解决方法
移除axios PUT请求里多余的括号后,重新发送请求,PUT更新功能恢复正常。
内容的提问来源于stack exchange,提问作者jcroft0827
相关产品推荐
相关产品推荐

