CastError:对于模型“大学”,路径“ _id”上的值“ favicon.ico”的强制转换为ObjectId失败

时间:2018-08-20 15:32:29

标签: javascript node.js mongodb express mongoose

我的问题与thisthis相同。

我正在更新应用程序中的“程序”模型并收到此错误。

  

CastError:在模型“大学”的路径“ _id”处,对于值“ favicon.ico”的值转换为ObjectId失败

我几乎应用了与此问题相关的所有解决方案。根据{{​​3}}解决方案,从更新节点到降级猫鼬。

节点版本:v9.6.1 猫鼬:从5.0.16降级到4.7.2

现在有趣的是,在同一项目中更新大学模型的运行就像一个魅力。

请让我知道我现在应该做什么。

这是我的代码

router.route('/admin/program/update/:universityId/:programId')
  .get(programs.getProgram)

控制器:

  programs.getProgram = async (req, res) => {
  const {
    universityId,
    programId
  } = req.params;

  const universities = await University.find({}, {
    "universityName": 1
  });

  const program = await University.findOne({
    '_id': universityId,
    'programs._id': programId
  }, {
    'programs.$': 1
  })

  res.render('pages/program/updateProgram', {
    program: program,
    universities: universities,
    universityId: universityId
  });
}

然后将数据发送到视图。

重要点:在呈现视图之前,应用程序运行良好。如果我控制台记录变量,则将获取所有必需的信息。当我渲染页面时,它给了我这个错误。使用res.redirect不会给出错误。

我被困住了。已经超过24小时了!

0 个答案:

没有答案