Database
[{"id":10,"list":[{id:1,value:5},{id:2,value:10}]}]
Query
db.collection.update({id:10},[{$set:{list:{$let:{vars:{newList:[{id:1,value:10},{id:2,value:20}]},in:{$map:{input:"$list",as:"ori",in:{$mergeObjects:["$$ori",{$first:{$filter:{input:"$$newList",cond:{$eq:["$$this.id","$$ori.id"]}}}}]}}}}}}}])