我正在构建像StackOwerflow这样的论坛。我的tehcnology堆栈是NodeJS / MongoDB / Mongoose。我的问题是,我不了解如何在添加新答案时对问题帖子进行原子更新。
查看我的帖子集:
[{
id: 1,
title: 'How to learn JavaScript'
body: 'Subject',
answers_count: 2
},
{
id: 2,
parentId: 1,
body: 'Read book'
},
{
id: 3,
parentId: 1,
body: 'Watch YouTube'
}]
当我添加或删除新答案时,我需要在parant帖子中增加answers_count
。进行原子更新的最佳方法是什么?
感谢。
答案 0 :(得分:0)
假设您的问题模型名为Question
并回答模型Answer
。然后你可以像这样进行更新:
Answer.create({
//the answer object you have
},
function(err,res){
if(err)
console.log(err);
else {
Question.findOneAndUpdate({
id: //answer's parent id
},
{
$inc:{ answer_count:1 }
},
function(err,res){
if(err)
console.log(err);
else
console.log("Answer count incremented. The updated question is "+res);
})
}
}