Database
[{"_id":"some-long-id-1","name":"John Doe","activities":[{"name":"Lunch","status":"SCHEDULED"},{"name":"Playing Football","status":"COMPLETED"},{"name":"Workout","status":"COMPLETED"}]},{"_id":"some-long-id-2","name":"Jane Doe","activities":[{"name":"Lunch","status":"COMPLETED"},{"name":"Playing Football","status":"SCHEDULED"},{"name":"Workout","status":"COMPLETED"}]}]
Query
db.collection.aggregate([{"$match":{"$expr":{"$eq":[{"$reduce":{"input":"$activities","initialValue":0,"in":{"$switch":{"branches":[{"case":{"$eq":["$$value",2]},"then":"$$value"},{"case":{"$eq":["$$this.status","COMPLETED"]},"then":{"$add":["$$value",1]}}],"default":0}}}},2]}}}])