Database
db={"myCollection":[{_id:"doc_123",parent_id:123,active:true,parent_desc:"Sample parent desc 1"},{_id:"doc_123_1",parent_id:123,active:true},{_id:"doc_123_2",parent_id:123,active:true},{_id:"doc_456",parent_id:456,active:true,parent_desc:"Sample parent desc 2"},{_id:"doc_456_1",parent_id:456,active:true},{_id:"doc_789",parent_id:789,active:true,parent_desc:"Sample parent desc 3"},{_id:"doc_789_1",parent_id:789,active:true}]}
Query
db.myCollection.aggregate([{$match:{parent_desc:{$exists:true}}},{$lookup:{from:"myCollection",let:{parent_id:"$parent_id",parent_desc:"$parent_desc"},pipeline:[{$match:{$expr:{$eq:["$$parent_id","$parent_id"]}}},{$addFields:{"parent_desc":"$$parent_desc"}}],as:"children"}},{$unwind:"$children"},{$replaceWith:"$children"}])