面试题答案
一键面试更新策略
- 使用
updateMany
方法对students
集合中的所有文档进行批量更新。 - 利用
$
操作符定位到grades
数组中course
为Math
的元素。 - 使用
$inc
操作符来增加score
的值。
更新代码
db.students.updateMany(
{ "grades.course": "Math" },
{ $inc: { "grades.$.score": 10 } }
);
在上述代码中:
updateMany
的第一个参数{ "grades.course": "Math" }
是查询条件,用于筛选出包含Math
课程的学生文档。- 第二个参数
{ $inc: { "grades.$.score": 10 } }
是更新操作,$inc
操作符将满足条件的grades
数组元素中的score
值增加10 。grades.$.score
中的$
操作符表示匹配到的grades
数组元素的位置。