Database

[{"CDF":{"UTILITYTYPE":{"D1":{"G1":"12387835","G22":{"NAME":"L1"}},"D5":{"EVENT":[{"CODE":"13","TIME":"29-05-2022 13:26:00","STATUS":"0"},{"CODE":"13","TIME":"29-05-2022 14:41:00","STATUS":"1"},{"CODE":"13","TIME":"31-05-2022 10:13:00","STATUS":"0"},{"CODE":"13","TIME":"31-05-2022 10:18:00","STATUS":"1"}]}}}},{"CDF":{"UTILITYTYPE":{"D1":{"G1":"12388215","G22":{"NAME":"L2"}},"D5":{"EVENT":[{"CODE":"7","TIME":"16-05-2022 04:28:21","STATUS":"0",},{"CODE":"7","TIME":"16-05-2022 06:30:30","STATUS":"1"},{"CODE":"7","TIME":"16-05-2022 07:36:53","STATUS":"0",},{"CODE":"7","TIME":"16-05-2022 19:39:28","STATUS":"1",},]}}}}]

Query

db.collection.aggregate([{$project:{EVENT:{$map:{input:"$CDF.UTILITYTYPE.D5.EVENT",as:"i",in:{CODE:"$$i.CODE",STATUS:"$$i.STATUS",TIME:{$dateFromString:{"dateString":"$$i.TIME","format":"%d-%m-%Y %H:%M:%S"}}}}}}},{$project:{firstEvent:{$filter:{input:"$EVENT",cond:{$eq:["$$this.STATUS","0"]}}},secondEvent:{$filter:{input:"$EVENT",cond:{$eq:["$$this.STATUS","1"]}}}}},{$project:{couples:{$zip:{inputs:["$firstEvent","$secondEvent"]}}}},{$project:{couples:{$filter:{input:"$couples",cond:{$gt:[{$dateDiff:{startDate:{$first:"$$this.TIME"},endDate:{$last:"$$this.TIME"},unit:"hour"}},1]}}}}}])

Result