Mongoose 更新子文档并保存不起作用

Joe*_*Joe 5 javascript mongoose mongodb

尝试更新数组中的对象。

我的代码:

module.exports = (req, res) => {

  var givenProject = req.body;
  var query = mongoose.model('cv').findOne({alias: req.params.alias});

  query.exec(function(err, cv){
    if(err){
      res.status(400).send({message: 'Could not find cv with alias: ' + req.params.alias, err: err})
     }
    var doc = cv.projects.id(req.params.id);
    doc.langTitles = givenProject.langTitles;
    doc.langDescriptions = givenProject.langDescriptions;
    doc.save(function(err){
      if(err){
        res.status(400).send({message: 'Could not update project', err: err});
        return;
      }
      res.status(200).send();
    });
  });
};
Run Code Online (Sandbox Code Playgroud)

没有给出错误。var doc发现发布的数据与doc原始数据具有相同的数据结构,但又有所不同。

该文档未更新。我在这里缺少什么?

DAX*_*lic 4

根据猫鼬文档

子文档具有与普通文档相同的功能。唯一的区别是它们不是单独保存的而是 在保存其顶级父文档时保存

因此尝试更换

doc.save(function(err) ...
Run Code Online (Sandbox Code Playgroud)

cv.save(function(err) ...
Run Code Online (Sandbox Code Playgroud)