समूह के लिए, MongoDB में $week और $month का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo133.insertOne({"Rank":18,"DueDate":new ISODate("2020-01-10")});{ "acknowledge" :true, "insertId" :ObjectId("5e31980968e7f832db1a7f78 ")}> db.demo133.insertOne({"Rank":12,"DueDate":new ISODate("2020-01-10")});{ "स्वीकृत" :सच, "insertId" :ObjectId("5e31982568e7f832db1a7f79 ")}> db.demo133.insertOne({"Rank":12,"DueDate":new ISODate("2020-02-01")});{ "स्वीकृत" :सच, "insertId" :ObjectId("5e31986568e7f832db1a7f7a ")}> db.demo133.insertOne({"Rank":20,"DueDate":new ISODate("2020-02-01")});{ "स्वीकृत" :सच, "insertId" :ObjectId("5e31986c68e7f832db1a7f7b ")}
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo133.find();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" :ObjectId("5e31980968e7f832db1a7f78"), "रैंक" :18, "ड्यू डेट" :ISODate("2020-01-10T00:00:00Z") }{ "_id" :ObjectId("5e31982568e7f832db1a7f79" ), "रैंक" :12, "ड्यूडेट" :ISODate ("2020-01-10T00:00:00Z") }{ "_id" :ObjectId ("5e31986568e7f832db1a7f7a"), "रैंक" :12, "ड्यूडेट" :ISODate ("2020-02-01T00:00:00Z") }{ "_id" :ObjectId("5e31986c68e7f832db1a7f7b"), "रैंक" :20, "ड्यूडेट" :ISODate("2020-02-01T00:00:00Z") }पूर्व>दिनांक सीमा के आधार पर दिन/महीने/सप्ताह के आधार पर समूहबद्ध करने के लिए क्वेरी निम्नलिखित है -
> db.demo133.aggregate([... {... "$project":{... "DueDateWeek":{ "$week":"$DueDate"},... "DueDateMonth":{ "$माह":"$ड्यूडेट" },... "रैंक":1...}...},... {... "$group":{... "_id":" $DueDateWeek",... "AvgValue":{ "$avg":"$Rank" },... "MonthValue":{ "$first":"$DueDateMonth" }...}...}. ..])यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" :4, "AvgValue" :16, "MonthValue" :2 }{ "_id" :1, "AvgValue" :15, "MonthValue" :1 }