Database
db={"transactiondetails":[{"account_number":"xxxxxxxy","amount":19760,"created_at":ISODate("2019-01-07T15:40:53.683Z"),"updated_at":ISODate("2019-01-09T06:48:44.839Z")},{"account_number":"xxxxzzzz","amount":20140,"created_at":ISODate("2019-02-01T15:40:53.683Z"),"updated_at":ISODate("2019-02-02T06:48:44.839Z")},{"account_number":"xxxxzzzz","amount":20140,"created_at":ISODate("2019-02-03T15:40:53.683Z"),"updated_at":ISODate("2019-02-05T06:48:44.839Z")},{"account_number":"xxxxxxxy","amount":19760,"created_at":ISODate("2019-01-08T15:40:53.683Z"),"updated_at":ISODate("2019-01-10T06:48:44.839Z")},{"account_number":"xxxxxxxy","amount":19760,"created_at":ISODate("2019-01-10T15:40:53.683Z"),"updated_at":ISODate("2019-01-14T06:48:44.839Z")},{"account_number":"xxxxzzzz","amount":20140,"created_at":ISODate("2019-02-17T15:40:53.683Z"),"updated_at":ISODate("2019-05-19T06:48:44.839Z")},{"account_number":"xxxxzzzz","amount":20140,"created_at":ISODate("2019-08-17T15:40:53.683Z"),"updated_at":ISODate("2019-08-19T06:48:44.839Z")},{"account_number":"xxxxzzzz","amount":20140,"created_at":ISODate("2019-08-27T15:40:53.683Z"),"updated_at":ISODate("2019-08-25T06:48:44.839Z")}]}
Query
db.transactiondetails.aggregate([{$sort:{account_number:1,amount:1,updated_at:1}},{$group:{"_id":{"account_number":"$account_number","amount":"$amount"},"data":{$push:"$$ROOT"},"tmp":{$push:"$$ROOT"}}},{$unwind:"$tmp"},{$project:{_id:{account_number:"$_id.account_number",amount:"$_id.amount",updated_at:"$tmp.updated_at"},data:{$map:{input:{$slice:["$data",{$add:[{$indexOfArray:["$data","$tmp"]},1]},{$size:"$data"}]},in:{"_id":"$$this._id","account_number":"$$this.account_number","amount":"$$this.amount","created_at":"$$this.created_at","updated_at":"$$this.updated_at","days":{$divide:[{$subtract:["$$this.updated_at","$tmp.updated_at"]},{$multiply:[24,60,60,1000]}]}}}}}},{$project:{count:{$size:{$filter:{input:"$data",cond:{$lte:["$$this.days",7]}}}}}},{$match:{"count":{$gt:0}}}])