Database

[{"_id":"102","records":[{"p_id":"102","e_date":ISODate("2016-04-01T00:00:00.000+00:00"),"h_val":4,},{"p_id":"102","e_date":ISODate("2017-04-01T00:00:00.000+00:00"),"h_val":5,},{"p_id":"102","e_date":ISODate("2018-04-01T00:00:00.000+00:00"),"h_val":6,},{"p_id":"102","e_date_1":ISODate("2003-05-01T00:00:00.000+00:00"),"s_val":87,"d_val":58},{"p_id":"102","e_date_1":ISODate("2004-09-01T00:00:00.000+00:00"),"s_val":81,"d_val":62},{"p_id":"102","e_date_1":ISODate("2005-09-01T00:00:00.000+00:00"),"s_val":81,"d_val":62}]}]

Query

db.collection.aggregate([{$project:{/**_id: 0,*/yearDiff:{$map:{input:{$filter:{input:"$records",cond:{$gt:["$$this.e_date",0]}}},as:"ed",in:{$concatArrays:[["$$ed"],{$filter:{input:"$records",cond:{$gte:[{$abs:{$dateDiff:{"startDate":"$$ed.e_date","endDate":"$$this.e_date_1","unit":"year"}}},13]}}}]}}}}}])

Result