sql >> Database >  >> NoSQL >> MongoDB

Hoe het uurverschil tussen twee datums in mongodb te vinden

U kunt onderstaande aggregatie gebruiken

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

Je moet gewoon $subtract loginTime van logoutTime en het geeft je het afgetrokken tijdstempel en dan gewoon $divide het met 3600000 om de tijd in uren te krijgen.

MongoPlayground




  1. Redis - Incr-waarde gebruiken in een transactie

  2. update in mongodb met $in query?

  3. Mongoengine:ConnectionError:U heeft geen standaardverbinding gedefinieerd

  4. MongoDB:vind de uitvoeringstijd voor de opdracht count() op miljoenen records in een verzameling?