尝试更新数组中的对象。
我的代码:
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();
});
});
};
没有错误。找到var doc
且发布的数据与doc
具有相同的数据结构,并且与原始数据不同。
文档未更新。我在这里缺少什么?
答案 0 :(得分:0)
根据猫鼬docs:
子文档享有与普通文档相同的所有功能。该 唯一不同的是,嘿不能单独保存,他们 保存顶级父文档时会保存 。
因此请尝试替换
doc.save(function(err) ...
带
cv.save(function(err) ...