Database

[{"userId":"user123","name":"John","card":{"amount":1000.0,"sentMoneyList":[{"creationDate":"2019-08-07T00:00:00.000+0000","shopId":"merchant1","loyaltyPoint":200,"amount":250},{"creationDate":"2019-01-07T00:00:00.000+0000","shopId":"merchant2","loyaltyPoint":100,"amount":99}],"receivedMoneyList":[{"creationDate":"2019-09-07T00:00:00.000+0000","amount":40},{"creationDate":"2019-03-07T00:00:00.000+0000","amount":500}]}}]

Query

db.collection.aggregate([{$facet:{sentMoney:[{$project:{"card.receivedMoneyList":0}},{$addFields:{"card.sentMoneyList":{$filter:{input:"$card.sentMoneyList",cond:{$gte:["$$this.creationDate","2019-02-01T00:00:00.000+0000"]}}}}},{$unwind:"$card.sentMoneyList"}],receivedMoney:[{$project:{"card.sentMoneyList":0}},{$addFields:{"card.receivedMoneyList":{$filter:{input:"$card.receivedMoneyList",cond:{$gte:["$$this.creationDate","2019-02-01T00:00:00.000+0000"]}}}}},{$unwind:"$card.receivedMoneyList"}]}},{$project:{combined:{$concatArrays:["$sentMoney","$receivedMoney"]}}},{$unwind:{path:"$combined",preserveNullAndEmptyArrays:false}},{$replaceRoot:{newRoot:"$combined"}}])

Result