MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cách tìm chênh lệch giờ giữa hai ngày trong mongodb

Bạn có thể sử dụng tổng hợp bên dưới

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

Bạn chỉ cần $subtract loginTime từ logoutTime và nó sẽ cung cấp cho bạn dấu thời gian đã trừ và sau đó chỉ cần $divide nó với 3600000 để có thời gian tính bằng giờ.

MongoPlayground




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tìm tài liệu cuối cùng trong ngày trong 7 ngày qua

  2. Mock / Test Mongodb Database Node.js

  3. MongoDB, Số lượng nhiều (có $ tồn tại)

  4. mongoose cập nhật mảng hoặc thêm vào mảng

  5. Tại sao việc sắp xếp MongoDb chậm với các bộ sưu tập tra cứu