Database
[{"_id":1,"values":[{"mark":30,"available":true},{"mark":80,"available":false},{"mark":65,"available":true}]},{"_id":2,"values":[{"mark":30,"available":true},{"mark":80,"available":true},{"mark":65,"available":true}]},{"_id":3,"values":[{"mark":30,"available":false},{"mark":20,"available":false},{"mark":60,"available":false}]},{"_id":4,"values":[{"mark":30,"available":true},{"mark":20,"available":true},{"mark":10,"available":true}]}]
Query
db.collection.find({"values.mark":{$gt:50},$nor:[{"values":{$elemMatch:{"available":{$nin:[true]}}}}]})