Database
[{"_id":1,"type":"Type A","source":"Source A","status":"Status A","createdAt":ISODate("2022-04-13T17:12:28.096Z"),"updatedAt":ISODate("2022-04-13T17:12:28.096Z"),"__v":0},{"_id":2,"type":"Type B","source":"Source C","status":"Status B","createdAt":ISODate("2022-04-13T17:12:28.096Z"),"updatedAt":ISODate("2022-04-13T17:12:28.096Z"),"__v":0},{"_id":3,"type":"Type A","source":"Source A","status":"Status A","createdAt":ISODate("2022-04-13T17:12:28.096Z"),"updatedAt":ISODate("2022-04-13T17:12:28.096Z"),"__v":0},{"_id":4,"type":"Type A","source":"Source C","status":"Status B","createdAt":ISODate("2022-04-13T17:12:28.096Z"),"updatedAt":ISODate("2022-04-13T17:12:28.096Z"),"__v":0}]
Query
db.collection.aggregate([{$addFields:{paramType:"typeFilter",paramSource:"sourceFilter",paramStatus:"statusFilter"}},{"$match":{/** complete here*/}},{$setWindowFields:{output:{totalCount:{$count:{}}}}},{$sort:{createdAt:-1}},{$skip:1},{$limit:2},{$facet:{results:[{$project:{/** here put whatever you want to send to FE*/type:1,source:1,}}],totalCount:[{$limit:1},{$project:{totalCount:1,_id:0}}]}}])