Database
[{"_id":BinData(3,"Uz+QwtoVMt7hjpqMrLxVhQ=="),"name":"jeorge","permissions":[{"key":"group.staff","value":true,"context":[{"key":"server","value":"test"}]},{"key":"group.tester","value":true,"context":[{"key":"server","value":"test"}]},{"key":"test.test","value":true},{"key":"group.default","value":true},{"key":"group.helper","value":true}]}]
Query
db.collection.aggregate([{$match:{_id:BinData(3,"Uz+QwtoVMt7hjpqMrLxVhQ==")}},{$set:{permissions:{$filter:{input:"$permissions",as:"p",cond:{$and:["$$p.context",{$regexMatch:{input:"$$p.key",regex:"group"}}]}}}}}])