【发布时间】:2021-06-13 16:06:39
【问题描述】:
我想在下面的 Mongo 文档中更新特定考试的特定问题的内部字段,例如 user_answer、isAnswered 等。
上图的文档文件:
{
"_id":{"$oid":"60508fb1c4b07a4134e75644"},
"student_id":"5faaac5d35b7ba4ed406e765",
"exams":[
{"score":null,
"time_taken":null,
"exam_taken":true,
"_id":{"$oid":"60508fb1c4b07a4134e75645"},
"exam_id":"5fbfc8ea9831540072063e62",
"questions":[
{"user_answer":null,
"isAnswered":false,
"isUnanswered":true,
"isFlagged":false,
"_id":{"$oid":"5fbfc8659831540072063e61"}
}
]
}
]
}
我为此写了一个查询,但它不起作用。
try{
await req.db
.collection('result')
.findOneAndUpdate({ student_id: ObjectId("5faaac5d35b7ba4ed406e765"), "exams._id": ObjectId(exam_id),"exams.questions._id":ObjectId(question_id) }, {
$set: {
'questions.$.user_answer': answer,
'questions.$.isAnswered':true,
'questions.$.isUnanswered':false,
'questions.$.isFlagged':false
}
}
);
res.status(201).end();
}catch(e){
console.log(e);
}
虽然我确信查询本身有问题,但如果你们中的任何人能告诉我如何执行此类更新,我将不胜感激。
谢谢你的相同
【问题讨论】:
-
请不要粘贴图片,使用格式化文本。见meta.stackoverflow.com/a/285557/3027266
-
感谢您的通知,我已经包含了可以复制的图像部分。
标签: database mongodb mongoose mongodb-query nosql