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