Database

[{"messages":[{senderId:1},{senderId:2},{senderId:3}]},]

Query

db.collection.update({},{$set:{"messages.$[elem].read":true}},{multi:true,arrayFilters:[{"elem.senderId":2}]},)

Result