只是需要一个特殊符号$
代表匹配某一项
数据库设计如下:
核心代码如下:
// 回答试题
public async userPaperAnswer(request: IRequest, _h: IResponse) {
const { user_paper_id, question_id, option_user } = request.payload;
const updOne = await UserPaper.updateOne(
{ _id: user_paper_id, 'questions.question': question_id },
{
$set: {
'questions.$.option_user': option_user,
},
},
).catch((err) => {
console.log(err);
});
return {
code: 1,
msg: '回答成功',
data: updOne,
};
}
}