MongoDB में अलग-अलग वर्ष, माह, दिन फील्ड्स से दिनांक ऑब्जेक्ट बनाने के लिए, एग्रीगेशन में $dateFromParts का उपयोग करें, फिर वैकल्पिक रूप से $dateToString के साथ फॉर्मेट करें।
उदाहरण: दिनांक भागों वाला दस्तावेज़
> db.demo386.insert({
details: { Month: 02, Day: 27, Year: 2020 }
});
WriteResult({ "nInserted" : 1 })
दस्तावेज़ देखना
> db.demo386.find();
आउटपुट: { "details" : { "Month" : 2, "Day" : 27, "Year" : 2020 } }
एग्रीगेशन: दिनांक भागों से दिनांक स्ट्रिंग बनाएं
> db.demo386.aggregate([
{ $project: {
_id: 0,
DueDate: {
$dateToString: {
format: "%m-%d-%Y",
date: { $dateFromParts: { year: "$details.Year", month: "$details.Month", day: "$details.Day" } }
}
}
}}
]);
परिणाम
{ "DueDate" : "02-27-2020" }
चरण व्याख्या
- $dateFromParts: वर्ष, माह, दिन फील्ड्स से BSON दिनांक ऑब्जेक्ट बनाता है।
- $dateToString: दिनांक को निर्दिष्ट फॉर्मेट स्ट्रिंग (
%m-%d-%Y) में फॉर्मेट करता है।
अन्य उपयोगी फॉर्मेट स्पेसिफायर्स
| स्पेसिफायर | अर्थ |
|---|---|
%Y | 4-अंकीय वर्ष |
%m | 2-अंकीय माह (01-12) |
%d | 2-अंकीय दिन (01-31) |
%H:%M:%S | घंटा:मिनट:सेकंड (24-घंटा) |
नोट
$dateFromPartsघंटा, मिनट, सेकंड, मिलीसेकंड, टाइमज़ोन के लिए वैकल्पिक फील्ड्स स्वीकार करता है।- यदि भाग अमान्य हैं (उदाहरण के लिए माह 13), तो
$dateFromPartsत्रुटि देता है;$convertके साथonErrorका उपयोग करके सुरक्षित रूप से संभालें। - दिनांक ऑब्जेक्ट को स्ट्रिंग के बजाय संग्रहीत करने के लिए, केवल
$dateFromPartsचरण का उपयोग करें।