Database

db={main:[{"_id":ObjectId("5ea1a07bfd7e4965408a5171"),"data":[],"history_id":ObjectId("5e4e755b380054797d9db627"),"sender_id":ObjectId("5e4a8d2d3952132a08ae5764"),"text":"Hi tester","date":1587650683434},{"_id":ObjectId("5ea1a07bfd7e4965408a5172"),"data":[],"history_id":ObjectId("5e4e755b380054797d9db627"),"sender_id":ObjectId("5e4a8d2d3952132a08ae5764"),"text":"Hi tester 2","date":1587650683436}],history:[{"_id":ObjectId("5e4e755b380054797d9db627"),"user_id":["5e4a8d2d3952132a08ae5763","5e4a8d2d3952132a08ae5765"],"dialog_id":ObjectId("5e4e755b380054797d9db627"),"date":1587650683435,"__v":1}]}

Query

db.main.aggregate([{$lookup:{from:"history",localField:"history_id",foreignField:"_id",as:"History"}},{$unwind:"$History"},{"$match":{$expr:{$cond:{if:{$in:["5e4a8d2d3952132a08ae5763","$History.user_id"]},then:{$gt:["$date","$History.date"]},else:{}}}}}])

Result