Anda dapat menggunakan agregasi di bawah ini
db.collection.aggregate([
{ "$project": {
"difference": {
"$divide": [
{ "$subtract": ["$logoutTime", "$loginTime"] },
60 * 1000 * 60
]
}
}},
{ "$group": {
"_id": "$studentID",
"totalDifference": { "$sum": "$difference" }
}},
{ "$match": { "totalDifference": { "$gte": 20 }}}
])
Anda cukup $subtract
loginTime
dari logoutTime
dan itu akan memberi Anda stempel waktu yang dikurangi dan kemudian hanya $divide
dengan 3600000
untuk mendapatkan waktu dalam hitungan jam.