Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में टाइमस्टैम्प अंतर को घंटों में कैसे गणना करें?

MongoDB एग्रीगेशन का उपयोग करके दो तिथियों के बीच घंटों में अंतर गणना करना

एग्रीगेशन पाइपलाइन में, $subtract का उपयोग दो तिथियों के बीच अंतर (मिलीसेकंड में) प्राप्त करने के लिए करें, फिर घंटे प्राप्त करने के लिए 3,600,000 (एक घंटे में मिलीसेकंड) से विभाजित करें।

नमूना डेटा बनाना

> db.timestampDifferenceDemo.insertOne({
  "MovieBeginningTime": new ISODate("2019-05-12 10:20:30"),
  "MovieEndingTime": new ISODate("2019-05-12 12:30:20")
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ba1f6d78f205348bc644") }

> db.timestampDifferenceDemo.insertOne({
  "MovieBeginningTime": new ISODate("2019-05-12 04:00:00"),
  "MovieEndingTime": new ISODate("2019-05-12 07:10:00")
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ba3b6d78f205348bc645") }

सभी डॉक्यूमेंट्स देखना

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

घंटों में अंतर गणना करना

> db.timestampDifferenceDemo.aggregate([
  {
    $project: {
      DifferenceInHours: {
        $divide: [
          { $subtract: [ "$MovieEndingTime", "$MovieBeginningTime" ] },
          3600000
        ]
      }
    }
  }
]);

आउटपुट:

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

व्याख्या

  • $subtract: [ end, start ] - मिलीसेकंड में अंतर लौटाता है।
  • $divide: [ diffMs, 3600000 ] - मिलीसेकंड को घंटों में परिवर्तित करता है (1000 × 60 × 60 = 3,600,000)।
  • पहली फिल्म: ~2 घंटे 9 मिनट 50 सेकंड = 2.1639 घंटे।
  • दूसरी फिल्म: 3 घंटे 10 मिनट = 3.1667 घंटे।

अन्य समय इकाइयाँ

इकाईडिवाइजर
मिलीसेकंड1
सेकंड1000
मिनट60000
घंटे3600000
दिन86400000

पूर्ण संख्या घंटे (फ्लोर) के लिए

{ $project: {
  Hours: { $floor: { $divide: [ { $subtract: ["$end", "$start"] }, 3600000 ] } }
}}

मुख्य बिंदु

  • तिथि घटाव मिलीसेकंड में परिणाम देता है।
  • वांछित इकाई प्राप्त करने के लिए उपयुक्त मिलीसेकंड मान से विभाजित करें।
  • पूर्ण इकाइयों के लिए $floor, $ceil, या $round का उपयोग करें।
  • यह एग्रीगेशन परिणामों को प्रोजेक्ट करता है; मूल डॉक्यूमेंट्स को संशोधित नहीं करता है।
  1. - MongoDB में स्टोर्ड जावास्क्रिप्ट के साथ कैसे काम करें?

    यह विशेष system.js संग्रह में सहेजा जाता है। इसके लिए, db.system.js.save() का उपयोग करें। निम्न सिंटैक्स है: db.system.js.save({ _id: anyFunctionName, value: function (returnValue) { return yourMessage + returnValue; } }) आइए उपरोक्त सिंटैक्स लागू करें। क्वेरी निम्न है: > db.

  1. - MongoDB में टाइमस्टैम्प के अनुसार ऑर्डर करें (अवरोही क्रम)

    MongoDB में टाइमस्टैम्प के अनुसार ऑर्डर करने के लिए sort() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo737.insertOne({timestamp : new ISODate(2020-04-01 )}); { acknowledged : true, insertedId : ObjectId(5ead682157bb72a10bcf065c) } > db.demo737.insertOne({timestamp : new ISODate(2020-10-

  1. Excel में समय अंतर की गणना कैसे करें Excel में समय अंतर की गणना कैसे करें

    Microsoft Excel का उपयोग बजट गणना, टैक्स गणना और कई अन्य उद्देश्यों के लिए किया जा सकता है। आप इसे इसकी द्वारा प्रदान की जाने वाली सुविधाओं के कारण कैलकुलेटर के दूसरे रूप के रूप में उपयोग कर सकते हैं। आप दो समय के बीच अंतर की गणना करने के लिए Excel का उपयोग भी कर सकते हैं। यह दिए गए प्रारंभ और समाप्