Database
[{role:"manager",user:"john",active:true},{role:"user",region:"us",user:"john",active:false},{role:"user",region:"czk",user:"john",active:false},{role:"user",region:"czk",user:"jane",active:false},{role:"user",region:"us",user:"jane",active:true},{role:"manager",user:"jane",active:false},]
Query
db.collection.aggregate([{"$group":{"_id":"$user","docs":{"$push":"$$ROOT"}}},{"$addFields":{"filterStatus":{"$reduce":{"input":"$docs","initialValue":{managerWithActiveTrue:false,managerWithActiveFalse:false,managerIsPresent:false,userIsPresent:false},"in":{"$mergeObjects":["$$value",{managerWithActiveTrue:{"$or":[{"$and":[{"$eq":["$$this.role","manager"]},"$$this.active"]},"$$value.managerWithActiveTrue"]},managerWithActiveFalse:{"$or":[{"$and":[{"$eq":["$$this.role","manager"]},{$not:"$$this.active"}]},"$$value.managerWithActiveFalse"]},managerIsPresent:{"$or":[{"$eq":["$$this.role","manager"]},"$$value.managerIsPresent"]},userIsPresent:{"$or":[{"$eq":["$$this.role","user"]},"$$value.userIsPresent"]}}]}}}}},{"$addFields":{"docs":{"$switch":{"branches":[{"case":{"$or":["$filterStatus.managerWithActiveTrue",{$not:"$filterStatus.userIsPresent"}]},"then":{"$filter":{"input":"$docs","as":"item","cond":{"$eq":["$$item.role","manager"]}}}},{"case":{"$or":["$filterStatus.managerWithActiveFalse",{$not:"$filterStatus.managerIsPresent"}]},"then":{"$filter":{"input":"$docs","as":"item","cond":{"$eq":["$$item.role","user"]}}}}],default:"$docs"}}}},{"$unwind":"$docs"},{"$replaceRoot":{"newRoot":"$docs"}}])