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

MongoDB में दिन/महीना/सप्ताह के आधार पर डेट रेंज के अनुसार ग्रुप करें

MongoDB में तारीख के आधार पर ग्रुपिंग

ग्रुप करने के लिए MongoDB में $week और $month का उपयोग करें।

कलेक्शन बनाना

> db.demo133.insertOne({"Rank":18,"DueDate":new ISODate("2020-01-10")});
{ "acknowledged": true, "insertedId": ObjectId("5e31980968e7f832db1a7f78") }
> db.demo133.insertOne({"Rank":12,"DueDate":new ISODate("2020-01-10")});
{ "acknowledged": true, "insertedId": ObjectId("5e31982568e7f832db1a7f79") }
> db.demo133.insertOne({"Rank":12,"DueDate":new ISODate("2020-02-01")});
{ "acknowledged": true, "insertedId": ObjectId("5e31986568e7f832db1a7f7a") }
> db.demo133.insertOne({"Rank":20,"DueDate":new ISODate("2020-02-01")});
{ "acknowledged": true, "insertedId": ObjectId("5e31986c68e7f832db1a7f7b") }

सभी डॉक्यूमेंट्स

> db.demo133.find();
{ "_id": ObjectId("5e31980968e7f832db1a7f78"), "Rank": 18, "DueDate": ISODate("2020-01-10T00:00:00Z") }
{ "_id": ObjectId("5e31982568e7f832db1a7f79"), "Rank": 12, "DueDate": ISODate("2020-01-10T00:00:00Z") }
{ "_id": ObjectId("5e31986568e7f832db1a7f7a"), "Rank": 12, "DueDate": ISODate("2020-02-01T00:00:00Z") }
{ "_id": ObjectId("5e31986c68e7f832db1a7f7b"), "Rank": 20, "DueDate": ISODate("2020-02-01T00:00:00Z") }

ग्रुपिंग क्वेरी (सप्ताह और महीने के अनुसार)

> db.demo133.aggregate([
    {
        "$project": {
            "DueDateWeek": { "$week": "$DueDate" },
            "DueDateMonth": { "$month": "$DueDate" },
            "Rank": 1
        }
    },
    {
        "$group": {
            "_id": "$DueDateWeek",
            "AvgValue": { "$avg": "$Rank" },
            "MonthValue": { "$first": "$DueDateMonth" }
        }
    }
])

परिणाम


व्याख्या

  • $project: नए फील्ड्स बनाता है - सप्ताह संख्या ($week), महीना संख्या ($month)
  • $group: सप्ताह संख्या (_id: $DueDateWeek) के अनुसार ग्रुप करता है
  • $avg: प्रत्येक सप्ताह के लिए औसत Rank गणना करता है
  • $first: ग्रुप का पहला महीना मान लेता है
  • सप्ताह 1 (जनवरी): औसत 15, महीना 1
  • सप्ताह 4 (फरवरी): औसत 16, महीना 2

अन्य उपयोगी डेट ऑपरेटर्स

  • $dayOfMonth: महीने का दिन (1-31)
  • $dayOfWeek: सप्ताह का दिन (1-7, रविवार=1)
  • $dayOfYear: वर्ष का दिन (1-366)
  • $year: वर्ष
  1. - यूनिवर्सल टाइम के अनुसार निर्दिष्ट तारीख में सप्ताह का दिन कैसे लौटाएं?

    JavaScript date getUTCDay() मेथड यूनिवर्सल टाइम के अनुसार निर्दिष्ट तारीख में सप्ताह का दिन लौटाता है। getUTCDay() द्वारा लौटाया गया मान सप्ताह के दिन के अनुरूप एक पूर्णांक है: 0 रविवार के लिए, 1 सोमवार के लिए, 2 मंगलवार के लिए, और इसी तरह। उदाहरण निर्दिष्ट तारीख में सप्ताह का दिन लौटाने के लिए निम

  1. - यूनिवर्सल टाइम के अनुसार निर्दिष्ट तारीख के लिए महीने का दिन सेट करें?

    JavaScript date setUTCDate() मेथड यूनिवर्सल टाइम के अनुसार निर्दिष्ट तारीख के लिए महीने का दिन सेट करता है। setUTCDate(dayValue) के लिए पैरामीटर निम्न है: dayValue - 1 से 31 तक का पूर्णांक, जो महीने का दिन दर्शाता है। उदाहरण निर्दिष्ट तारीख के लिए महीने का दिन सेट करने के लिए निम्न कोड चलाएं: <

  1. जावास्क्रिप्ट में डेट का दिन कैसे सेट करें? जावास्क्रिप्ट में डेट का दिन कैसे सेट करें?

    परिचय जावास्क्रिप्ट में setDate() मेथड का उपयोग डेट ऑब्जेक्ट का दिन (महीने का दिन) सेट करने के लिए किया जाता है। यह महीने और वर्ष को आवश्यकतानुसार स्वचालित रूप से एडजस्ट करता है। उदाहरण निम्न कोड जावास्क्रिप्ट में डेट का दिन सेट करने के लिए है: <!DOCTYPE html> <html lang="hi"&g