Mongoose / Express更新路由转换为对象ID问题

时间:2018-06-07 12:59:28

标签: javascript node.js express mongoose

使用Express和Mongoose,我正在写一条更新路线,我似乎已经用这条路线撞墙了。我试图通过以下方式找到所请求的对象:

router.patch('/:insiderId', (req, res) => {
  Insider.findById(req.params.insiderId)
    .then(insider => {
      insider = Object.assign({}, insider, req.body);
      insider
        .save()
        .then(updated => {
          res.json(updated);
        })
        .catch(err =>
          res
            .status(400)
            .json({ error: 'error updating insider', originalError: err })
        );
    })
    .catch(err => {
      console.error(err);
      res.status(400).json({
        error: 'error finding insider to update.',
        originalError: err
      });
    });
});

但我仍然在说明Cast to ObjectId failed for value \"5b16d9e9119bef28908f49c\" at path \"_id\" for model \"insiders\"

时出错

我做了一点阅读,并认为findById会自动投射目标,但似乎并没有这样做。

我的代码错了吗?

0 个答案:

没有答案