Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

จะคำนวณความแตกต่างของเวลาประทับเป็นชั่วโมงด้วย MongoDB ได้อย่างไร


ในการคำนวณความแตกต่างของการประทับเวลา ให้ใช้กรอบงานรวม ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.timestampDifferenceDifferenceDemo.insertOne({ "MovieBeginningTime":new ISODate("2019-05-12 10:20:30"), "MovieEndingTime":new ISODate("2019-05-12 12:30:20" ")});{ "รับทราบ" :จริง "insertedId" :ObjectId("5cd7ba1f6d78f205348bc644")}> db.timestampDifferenceDifferenceDemo.insertOne({ "MovieBeginningTime":ISODate ใหม่ ("2019-05-12 04:00:00" ), "MovieEndingTime":new ISODate("2019-05-12 07:10:00")});{ "acknowledged" :true, "insertedId" :ObjectId("5cd7ba3b6d78f205348bc645")}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -

> db.timestampDifferenceDemo.find().pretty();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_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") ")}

ต่อไปนี้เป็นแบบสอบถามเพื่อคำนวณความแตกต่างของการประทับเวลาใน MongoDB (เป็นชั่วโมง) -

<ก่อนหน้า>> db.timestampDifferenceDifferenceDemo.aggregate([ {$project:{ DifferenceInHours:{$divide:[{$subtract:["$MovieEndingTime", "$MovieBeginningTime"]}, 36000]} }}]);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" :ObjectId("5cd7ba1f6d78f205348bc644"), "DifferenceInHours" :2.1638888888888888 }{ "_id" :ObjectId("5cd7ba3b6d78f205348bc645"), "DifferenceInHours666666" :3.16666