महीने का डेटाटाइम दिन बनाने के लिए दायर मूल्य को परिवर्तित करने के लिए, MongoDB समुच्चय () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo209.insertOne( ... { ... "_id" : "101", ... "details" : [ ... { ... "dat" : 1528929908, ... "Name" : "Chris" ... }, ... { ... "dat" : 1529082069, ... "Name":"Carol" ... } ... ], ... "Age" : 25, ... "CountryName" : "US" ... } ...); { "acknowledged" : true, "insertedId" : "101" }
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo209.find().pretty();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" : "101", "details" : [ { "dat" : 1528929908, "Name" : "Chris" }, { "dat" : 1529082069, "Name" : "Carol" } ], "Age" : 25, "CountryName" : "US" }
प्रक्षेपण के दौरान फ़ील्ड मान को परिवर्तित करने और महीने का डेटाटाइम दिन बनाने की क्वेरी निम्नलिखित है -
> db.demo209.aggregate({ ... "$unwind": "$details" ... }, { ... "$project": { ... "Age": 1, ... "CountryName": 1, ... "Name": "$details.Name", ... "DayOfMonth": { ... "$dayOfMonth": { ... "$add": [new Date(0), { ... "$multiply": ["$details.dat", 1000] ... }] ... } ... } ... } ...})
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" : "101", "Age" : 25, "CountryName" : "US", "Name" : "Chris", "DayOfMonth" : 13 } { "_id" : "101", "Age" : 25, "CountryName" : "US", "Name" : "Carol", "DayOfMonth" : 15 }