sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan finder du timeforskellen mellem to datoer i mongodb

Du kan bruge nedenstående aggregering

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

Du skal bare $subtract loginTime fra logoutTime og det vil give dig det fratrukne tidsstempel og derefter bare $divide det med 3600000 for at få tiden i timer.

MongoPlayground




  1. Tilføj nyt felt til hvert dokument i en MongoDB-samling

  2. Mongoose find array med $in

  3. Hvordan fungerer sortering med et indeks i MongoDB?

  4. hvordan gør man en variabel til en unik nøgle i mongoose?