我有这样的学校文档结构:
{
"_id":"tnoMB2PhsPPQKcafz",
// some other property here
"students":[{
"student":{
"ref_id":"eaH7JsponapSWCGf6",
"name":"name",
"family":"family",
"grade":12
},
// many other student here
]}
我想在确定的学校更新已确定学生的成绩属性,但我不知道该怎么做。
例如我有学校_id( tnoMB2PhsPPQKcafz )和学生ref_id( eaH7JsponapSWCGf6 ),并希望将确定的学生成绩从12更新到18。
答案 0 :(得分:4)
Use $elemMatch
as below :
db.school.update({"_id" : "tnoMB2PhsPPQKcafz","students":{"$elemMatch":{"student.ref_id":"eaH7JsponapSWCGf6"}}},{"$set":{"students.$.student.grade":18}})