Database

[{"_id":"111","studentID":"1","loginTime":"2019-05-01 09:40:00","logoutTime":"2019-05-01 19:40:00"},{"_id":"222","studentID":"1","loginTime":"2019-05-02 09:40:00","logoutTime":"2019-05-02 20:40:00"},{"_id":"333","studentID":"2","loginTime":"2019-05-02 09:40:00","logoutTime":"2019-05-02 20:40:00"}]

Query

db.collection.aggregate([{$set:{hoursDiff:{$dateDiff:{startDate:{$toDate:"$loginTime"},endDate:{$toDate:"$logoutTime"},unit:"hour"}}}},{$match:{hoursDiff:{$gte:20}}}])

Result