Database
[{"Grade":"Z","numChocolateBars":0,"neededChocolateForNextGrade":100},{"Grade":"Y","numChocolateBars":100,"neededChocolateForNextGrade":50},{"Grade":"X","numChocolateBars":150,"neededChocolateForNextGrade":850},{"Grade":"C","numChocolateBars":1000,"neededChocolateForNextGrade":1000},{"Grade":"B","numChocolateBars":2000,"neededChocolateForNextGrade":1000},{"Grade":"A","numChocolateBars":3000,"neededChocolateForNextGrade":4000}]
Query
db.collection.find({numChocolateBars:{$lte:149},$expr:{$gt:[{$sum:["$numChocolateBars","$neededChocolateForNextGrade"]},149]}})