1
试图更新数组中的对象。带保存的猫鼬更新子文档不起作用
我的代码:
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
相同的数据结构,并且它不同于原始数据。
文档未更新。我在这里错过了什么?
什么是线'VAR DOC = cv.projects.id(req.params.id)后的文档替换
;'?什么是'cv.projects'? cv.projects.id是一个函数吗? – marekful
它是一个内置的猫鼬函数来查找子文档。 http://mongoosejs.com/docs/subdocs.html – Per