Database
[{"_id":ObjectId("5f8a94ccc8452643f1498419"),"private":false,"score":2000,"questions":[{"_id":ObjectId("5f8a94e8c8452643f149841c"),"order":1,"category":"TEXT","definition":"about us","score":1,"options":[{"_id":ObjectId("5f8af3115f23667adf3bbaf9"),"score":1,"desc":"description 1"},{"_id":ObjectId("5f8af3115f23667adf3bbafa"),"score":0,"desc":"description 2"}]},{"_id":ObjectId("5f8a94e8c8452643f149841d"),"order":2,"category":"HTML","definition":"about us","score":0.5,"options":[{"_id":ObjectId("5f8af3115f23667adf3bbaf9"),"score":1,"desc":"description 1"},{"_id":ObjectId("5f8af3115f23667adf3bbafa"),"score":0,"desc":"description 2"}]}]}]
Query
db.collection.aggregate([{$match:{"_id":ObjectId("5f8a94ccc8452643f1498419")}},{$set:{questions:{$map:{input:"$questions",in:{$mergeObjects:["$$this",{$cond:[{$eq:["$$this._id",ObjectId("5f8a94e8c8452643f149841c")]},{score:2,order:1,category:"TEXT",options:{$map:{input:"$$this.options",in:{$mergeObjects:["$$this",{$cond:[{$eq:["$$this._id",ObjectId("5f8af3115f23667adf3bbafa")]},{desc:"updated desc"},{}]}]}}}},{}]}]}}}}},{$set:{score:{$reduce:{input:"$questions",initialValue:0,in:{$add:["$$value","$$this.score"]}}}}}])