Để tính toán chênh lệch dấu thời gian, hãy sử dụng khung tổng hợp. Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.timestampDifferenceDemo.insertOne ({"MovieBeginningTime":new ISODate ("2019-05-12 10:20:30"), "MovieEndingTime":new ISODate ("2019-05-12 12:30:20 ")}); {"nition":true, "insertId":ObjectId ("5cd7ba1f6d78f205348bc644")}> db.timestampDifferenceDemo.insertOne ({"MovieBeginningTime":new ISODate ("2019-05-12 04:00:00" ), "MovieEndingTime":new ISODate ("2019-05-12 07:10:00")}); {"nition ":true," insertId ":ObjectId (" 5cd7ba3b6d78f205348bc645 ")}
Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.timestampDifferenceDemo.find (). pretty ();
Điều này sẽ tạo ra kết quả sau -
{"_id":ObjectId ("5cd7ba1f6d78f205348bc644"), "MovieBeginningTime":ISODate ("2019-05-12T10:20:30Z"), "MovieEndingTime":ISODate ("2019-05-12T12:30:20Z ")} {" _id ":ObjectId (" 5cd7ba3b6d78f205348bc645 ")," MovieBeginningTime ":ISODate (" 2019-05-12T04:00:00Z ")," MovieEndingTime ":ISODate (" 2019-05-12T07:10:00Z ")}
Sau đây là truy vấn để tính toán chênh lệch dấu thời gian trong MongoDB (tính theo giờ) -
> db.timestampDifferenceDemo.aggregate ([{$ project:{DifferenceInHours:{$ chia:[{$ subtract:["$ MovieEndingTime", "$ MovieBeginningTime"]}, 3600000]}}}]);Điều này sẽ tạo ra kết quả sau -
{"_id":ObjectId ("5cd7ba1f6d78f205348bc644"), "DifferenceInHours":2.1638888888888888} {"_id":ObjectId ("5cd7ba3b6d78f205348bprec645"), "DifferenceInHours":3.166666666666666665}