Database
[{"_id":1,"tests":[95,92,90],"modified":ISODate("2019-01-01T00:00:00Z")},{"_id":2,"tests":[94,88,90],"modified":ISODate("2019-01-01T00:00:00Z")},{"_id":3,"tests":[70,75,82],"modified":ISODate("2019-01-01T00:00:00Z")}]
Query
db.collection.update({},[{$set:{average:{$trunc:[{$avg:"$tests"},0]},modified:"$$NOW"}},{$set:{grade:{$switch:{branches:[{case:{$gte:["$average",90]},then:"A"},{case:{$gte:["$average",80]},then:"B"},{case:{$gte:["$average",70]},then:"C"},{case:{$gte:["$average",60]},then:"D"}],default:"F"}}}}])