Database

[{"dept":"A","email":"bob@example.com","userID":"1"},{"dept":"A","email":"bob@example.com","userID":"1"},{"dept":"A","email":"bob@example.com","userID":"2"},{"dept":"A","email":"alice@example.com","userID":"3"},{"dept":"B","email":"bob@example.com","userID":"4"},{"dept":"B","email":"kevin@example.com","userID":"5"},]

Query

db.collection.aggregate([{"$group":{"_id":{"dept":"$dept","email":"$email","userID":"$userID",},"individualCount":{"$sum":1}},},{"$group":{"_id":"$_id.email","userIDs":{"$addToSet":"$_id.userID"},"dept":{"$addToSet":"$_id.dept"},"totalRecordsCount":{"$sum":"$individualCount"},"totalDuplicCounts":{"$sum":1},},},{"$match":{"totalDuplicCounts":{"$gt":1}},},])

Result