Database

[{"_id":ObjectId("6257047cffd61ab62864c1ae"),"type":"A","source":"B","status":"A","user":ObjectId("622b55ff0b0af6b049c387d3")},{"_id":ObjectId("6257047cffd61ab62864c1ad"),"type":"B","source":"A","status":"A","user":ObjectId("622b55ff0b0af6b049c387d3")},{"_id":ObjectId("6257047cffd61ab62864c1ce"),"type":"A","source":"C","status":"B","user":ObjectId("622b55ff0b0af6b049c387d3")},{"_id":ObjectId("6257047cffd61ab62864c1cb"),"type":"A","source":"B","status":"C","user":ObjectId("622b56250b0af6b049c387d6")}]

Query

db.collection.aggregate([{$addFields:{paramType:"All",paramSource:"All",paramStatus:"All"}},{$match:{$and:[{user:ObjectId("622b55ff0b0af6b049c387d3")},{$or:[{paramType:{$eq:"All"}},{$expr:{$eq:["$paramType","$type"],}}]},{$or:[{paramSource:{$eq:"All"}},{$expr:{$eq:["$paramSource","$source"]}}]},{$or:[{paramStatus:{$eq:"All"}},{$expr:{$eq:["$paramStatus","$status"],}}]}]}},{$setWindowFields:{output:{totalCount:{$count:{}}}}},{$sort:{createdAt:-1}},{$skip:0},{$limit:6},{"$project":{"paramSource":false,"paramStatus":false,"paramType":false,}}])

Result