MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment trouver la différence d'heures entre deux dates dans mongodb

Vous pouvez utiliser l'agrégation ci-dessous

db.collection.aggregate([
  { "$project": {
    "difference": {
      "$divide": [
        { "$subtract": ["$logoutTime", "$loginTime"] },
        60 * 1000 * 60
      ]
    }
  }},
  { "$group": {
    "_id": "$studentID",
    "totalDifference": { "$sum": "$difference" }
  }},
  { "$match": { "totalDifference": { "$gte": 20 }}}
])

Vous devez juste $subtract loginTime depuis logoutTime et il vous donnera l'horodatage soustrait, puis juste $divide avec 3600000 pour obtenir le temps en heures.

MongoPlayground