Database
[{"_id":1,"transactioncode":"testtransactAA","staffcode":"staffA1","isactive":true},{"_id":2,"transactioncode":"testtransactBB","staffcode":"staffB1","isactive":true},{"_id":3,"transactioncode":"testtransactCC","staffcode":"staffC1","isactive":false},{"_id":4,"transactioncode":"testtransactCC","staffcode":"staffC2","isactive":false},{"_id":5,"transactioncode":"testtransactDD","staffcode":"staffD1","isactive":true},{"_id":6,"transactioncode":"testtransactEE","staffcode":"staffE1","isactive":true},{"_id":7,"transactioncode":"testtransactEE","staffcode":"staffE2","isactive":false}]
Query
db.collection.aggregate([{$lookup:{from:"collection",let:{rawId:"$_id"},pipeline:[{"$match":{$expr:{$and:[{$eq:["$$rawId","$_id"]},{$eq:["$isactive",true]}]}}}],as:"getIsactive"}},{$unwind:{path:"$getIsactive",preserveNullAndEmptyArrays:true}},{$project:{"transactioncode":"$transactioncode","staffcode":{"$ifNull":["$getIsactive.staffcode",null]}}},{$group:{_id:"$transactioncode",staffcode:{$first:"$staffcode"}}}])