【问题标题】:TypeError: Cannot read property '_id' of undefined i am trying to update rawmaterial fields using this controllerTypeError:无法读取未定义的属性“_id”我正在尝试使用此控制器更新原材料字段
【发布时间】:2021-02-06 21:47:06
【问题描述】:

我正在尝试使用此更新字段


exports.updateRawmaterial = (req, res) => {
    // console.log(req.rawmaterial._id)
    Rawmaterial.findByIdAndUpdate({ _id: req.rawmaterial._id }, { $set: req.body }, { new: true, useFindAndModify: false },
        (err, updatedRawmaterial) => {
            if (err) {
                return res.status(400).json({
                    error: "NOT able to update rawmaterial"
                });
            }
            return res.json(updatedRawmaterial);
        })
}

请帮帮我

【问题讨论】:

  • console.log(req.rawmaterial._id) 得到什么?
  • @IsmailElMoudni 我越来越不确定_id
  • 可以得到console.log(req.rawmaterial);的输出代替吗?

标签: node.js mongodb express mern


【解决方案1】:

@laxman

  1. 请检查您是否正在使用

    app.use(bodyParser.json());

作为中间件。包含此中间件以将传入的请求对象转换并识别为 JSON 对象。

  1. 接下来请检查您必须做的事情 req.body.rawmaterial._id 如果您正在从某个地方发出帖子请求。

  2. 检查在执行请求时是否正在发送数据。

这 3 个步骤肯定会解决这个问题。

谢谢, 德鲁夫·巴罗特

如果还没有解决,请评论。

【讨论】:

  • 啊,是的,兄弟,但我已经包含了正文解析器,但它的显示已弃用
  • 我正在尝试在这里做一个 put 请求,它说 undefined
【解决方案2】:

问题出在我没有正确调用我的路线的路线中,我的路线中有一些拼写错误

router.put("/rawmaterial/:rawmaterialId/:userId", updateRawmaterial);

我在:rawmaterialId 中有拼写错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-03
    • 2022-07-27
    • 2022-09-23
    • 2019-09-13
    • 1970-01-01
    • 2015-11-14
    • 2020-11-16
    • 2020-11-22
    相关资源
    最近更新 更多