Database

[{"_id":"5eabf8b144345b36b00bfbaa","ranktime":[{"pos":"2","datum":"Mon May 05 2020 12:22:52 GMT+0200 (GMT+02:00)","source":"SOURCE2"},{"pos":"1","datum":"Fri May 01 2020 12:23:10 GMT+0200 (GMT+02:00)","source":"SOURCE1"},{"pos":"37","datum":"Fri May 01 2020 12:25:14 GMT+0200 (GMT+02:00)","source":"SOURCE2"},{"pos":"12","datum":"Fri May 01 2020 12:25:14 GMT+0200 (GMT+02:00)","source":"SOURCE2"},{"pos":"37","datum":"Fri May 01 2020 18:45:27 GMT+0200 (GMT+02:00)","source":"SOURCE2"}]}]

Query

db.collection.aggregate([{$addFields:{ranktime:{$reduce:{input:"$ranktime",initialValue:[],in:{$cond:[{$and:[{"$eq":["$$this.source","SOURCE2"]},{$anyElementTrue:{$map:{input:{$filter:{input:"$$value",as:"prev",cond:{$eq:["$$prev.source","SOURCE2"]}}},as:"addedElement",in:{"$eq":[{$substr:["$$addedElement.datum",0,15]},{$substr:["$$this.datum",0,15]}]}}}}]},"$$value",{$concatArrays:["$$value",["$$this"]]}]}}}}}])

Result