Database

[{"id":"myid","field":{"total":1,"subfield":[{"somefield":"1000","time":"2020-08-06T08:33:57.977+0530","val":[{"x":"someval","a":"val1","b":"val2"}]},{"somefield":"2000","time":"2020-05-08T04:13:27.977+0530","val":[{"x":"someval2","a":"aa","b":"bb"}]}]}},{"id":"myid2","field":{"total":1,"subfield":[{"somefield":"1001","time":"2020-07-31T10:15:50.184+0530","val":[{"x":"someval2","a":"val1","b":"val2"},{"x":"someval2","a":"val1","b":"val2"}]}]}}]

Query

db.collection.aggregate([{$unwind:{path:"$field.subfield",}},{$unwind:{path:"$field.subfield.val",}},{$addFields:{created_at:{$toDate:"$field.subfield.time"}}},{$match:{$and:[{$expr:{$gt:[{"$dateToString":{"date":"$created_at","format":"%Y-%m-%d"}},"2020-04-28"]}},{$or:[{"field.subfield.val.a":{"$eq":"val1"}},{"field.subfield.val.b":{"$eq":"val1"}}]}]}},{$group:{_id:"$id"}}])

Result