sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man hittar timmarsskillnaden mellan två datum i mongodb

Du kan använda nedanstå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 behöver bara $subtract loginTime från logoutTime och det ger dig den subtraherade tidsstämpeln och sedan bara $divide den med 3600000 för att få tiden i timmar.

MongoPlayground




  1. I Mongo något sätt att göra kontroll och inställning som atomär drift?

  2. Hur man grupperar poster baserat på arrayelement med MongoDB

  3. Datumjämförelse i mongodb

  4. Mongoid eller MongoMapper?