Database
[{"p_id":"102","e_date":ISODate("2017-04-01T00:00:00.000+00:00"),"h_val":4,},{"p_id":"102","e_date":ISODate("2005-04-01T00:00:00.000+00:00"),"h_val":5,},{"p_id":"102","e_date1":ISODate("2017-05-01T00:00:00.000+00:00"),"s_val":87,"d_val":58},{"p_id":"102","e_date1":ISODate("2016-09-01T00:00:00.000+00:00"),"s_val":81,"d_val":62},{"p_id":"102","e_date1":ISODate("2010-09-01T00:00:00.000+00:00"),"s_val":81,"d_val":62},{"p_id":"101","e_date":ISODate("2016-04-01T00:00:00.000+00:00"),"h_val":5,},{"p_id":"101","e_date1":ISODate("2015-05-01T00:00:00.000+00:00"),"s_val":87,"d_val":58},]
Query
db.collection.aggregate([{$group:{_id:"$p_id",e_date:{$first:"$e_date"},records:{$push:"$$ROOT"}}},{$project:{p_id:"$_id",_id:0,e_date:1,records:{$filter:{input:"$records",cond:{$and:[{$gt:["$$this.e_date1",null]},{$lt:["$$this.e_date1","$e_date"]}]}}}}},{$addFields:{count:{$size:"$records"}}}])