Database

[{_id:1,fields1:"a",fields2:1,fields3:"z"},{_id:2,fields1:"a",fields2:1,fields3:"z"},{_id:3,fields1:"f",fields2:2,fields3:"g"},{_id:4,fields1:"f",fields2:2,fields3:"g"},{_id:5,fields1:"j",fields2:3,fields3:"g"},]

Query

db.collection.aggregate([{"$setWindowFields":{"partitionBy":{fields1:"$fields1",fields2:"$fields2",fields3:"$fields3"},"sortBy":{"_id":1},"output":{"duplicateRank":{"$rank":{}}}}},{$match:{duplicateRank:{$ne:1}}},{$unset:"duplicateRank"}])

Result