Database

db={info1:[{"GroupName":"TEST Group1","LoginId":"login1","FirstName":"John","LastName":"deo","Email":"john.deo@xyz.com"},{"GroupName":"TEST Group2","LoginId":"login1","FirstName":"John","LastName":"deo","Email":"john.deo@xyz.com"}],info2:[{"Group":"TEST Group1","Type":"DEV","ActiveFlag":"True","MachName":"group1.xyz.net",},{"Group":"TEST Group2","Type":"DEV","ActiveFlag":"True","MachName":"group2.xyz.net",}]}

Query

db.info1.aggregate([{"$lookup":{"from":"info2","localField":"GroupName","foreignField":"Group","as":"g"}},{$match:{$and:[{"g.ActiveFlag":"True"}]}},{$group:{_id:null,GroupName:{$push:"$GroupName"},MachName:{$push:"$g.MachName"},LoginId:{$first:"$LoginId"},FirstName:{$first:"$FirstName"},Email:{$first:"$Email"},Type:{$first:{$first:"$g.Type"}},}}])

Result