【问题标题】:the updateOne function is not updating the documentupdateOne 函数未更新文档
【发布时间】:2020-07-16 19:23:14
【问题描述】:

我正在尝试使用 updateOne 函数更新 MongoDB 中的文档。我没有收到任何错误,并且程序使用了正确的 ID,但文档没有被更新。如果有人能告诉我哪里出错了,我将不胜感激。

事件架构代码是:

req.body 是:

【问题讨论】:

  • 你能把 schema 和 req.body 放到问题中吗?
  • 我不确定你在问什么。你能解释一下吗?
  • 只需将您的事件架构代码和console.log(req.body)的req.body添加到问题中。
  • 所以当我更新信息时它会在我 console.log(req.body) 时发生变化,但当我尝试显示新信息时它不会发生变化。
  • 您在架构中有 userEmail 必填字段,但在您的正文中没有 userEmail。

标签: node.js mongodb express mongoose


【解决方案1】:

信息对象中的字段必须与事件模式中的字段名称匹配:

所以你需要这样改变:

  const information = {
    eventName: req.body.eventName,
    eventLength: req.body.eventLength,
    startDate: req.body.startDate,
    endDate: req.body.endDate,
    venueName: req.body.venueName,
    venueCity: req.body.venueCity,
    venueState: req.body.venueState,
    photographerCB: req.body.photographerCB,
    photographyBudget: req.body.photographyBudget,
    videographerCB: req.body.videographerCB,
    videographyBudget: req.body.videographyBudget,
    entertainmentCB: req.body.entertainmentCB,
    entertainmentBudget: req.body.entertainmentBudget,
  };

【讨论】:

  • 非常感谢您的帮助。
  • @VrajPatel 欢迎您。如果您也可以投票,我将不胜感激。顺便说一句,您的架构中没有 CB 字段,但您发送了摄影师CB、摄像师CB、娱乐CB 字段。
  • 我知道。 CB 代表开关是否翻转。
猜你喜欢
  • 1970-01-01
  • 2022-12-22
  • 2019-12-04
  • 2020-08-29
  • 2017-12-14
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
  • 2019-11-12
相关资源
最近更新 更多