Database

db={"c1":[{"name":"A","related":"Y","special":"foo","created":ISODate("2020-02-07T19:36:52.757+02:00")},{"name":"B","related":"Z","special":"bar","created":ISODate("2020-02-07T19:36:52.757-06:00")},{"name":"C","related":"X","special":"baz","created":ISODate("2020-02-07T19:36:52.757+01:00")},{"name":"D","related":"Z","special":"quux","created":ISODate("2020-02-07T19:36:52.757+01:00")}],"c2":[{"name":"X","total":500},{"name":"Y","total":200},{"name":"Y","total":100},{"name":"Y","total":800},{"name":"Z","total":10}]}

Query

db.c1.aggregate([{$match:{"special":"foo"}},{$lookup:{from:"c2",localField:"related",foreignField:"name",as:"c2"}},{$addFields:{lowCount:{$size:{$filter:{input:"$c2",cond:{$lte:["$$this.total",100]}}}},midCount:{$size:{$filter:{input:"$c2",cond:{$lte:["$$this.total",500]}}}},highCount:{$size:{$filter:{input:"$c2",cond:{$gte:["$$this.total",500]}}}}}}])

Result