Database

[{"_id":"244","pubName":"p1","serviceIdRef":"1","serviceName":"my-service-1","subName":"c1","pubState":"INVITED"},{"_id":"242","pubName":"p1","serviceIdRef":"1","serviceName":"my-service-1","subName":"c1","pubState":"INVITED"},{"_id":"245","pubName":"p1","serviceIdRef":"2","serviceName":"my-service-2","subName":"c1","pubState":"ACTIVE"}]

Query

db.collection.aggregate([{$match:{serviceIdRef:{$in:["1","2","3"]}}},{$sort:{_id:-1}},{$group:{_id:{serviceIdRef:"$serviceIdRef",pubState:"$pubState"},serviceName:{$first:"$serviceName"},sample:{$push:"$$ROOT"},count:{$sum:1}}},{$group:{_id:"$_id.serviceIdRef",serviceName:{$first:"$serviceName"},state:{$push:{pubState:"$_id.pubState",count:"$count",sample:{$slice:["$sample",2]}}}}}])

Result