यदि आपके पास ऐसे दस्तावेज़ हैं जो दिनांक ऑब्जेक्ट के रूप में दिनांक संग्रहीत करते हैं, लेकिन आप उन्हें किसी भिन्न प्रारूप में वापस करना चाहते हैं, तो आप $dateToString
का उपयोग कर सकते हैं कुल पाइपलाइन ऑपरेटर।
उदाहरण के लिए, हो सकता है कि आप mm/dd/yyyy
. में एक तारीख लौटाना चाहें लंबे ISODate()
. के बजाय प्रारूप प्रारूप जिसमें मिनट, सेकंड, मिलीसेकंड, आदि शामिल हैं
$dateToString
ऑपरेटर दिनांक ऑब्जेक्ट को एक स्ट्रिंग में कनवर्ट करता है, और वैकल्पिक रूप से आपको परिणामी आउटपुट के लिए एक प्रारूप निर्दिष्ट करने की अनुमति देता है।
उदाहरण
मान लीजिए हमारे पास cats
. नामक संग्रह है निम्नलिखित दस्तावेजों के साथ:
{ "_id" : 1, "name" : "Scratch", "born" : ISODate("2021-01-03T23:30:15.123Z") } { "_id" : 2, "name" : "Meow", "born" : ISODate("2019-12-08T04:00:20.112Z") } { "_id" : 3, "name" : "Fluffy", "born" : ISODate("2020-09-24T10:45:01.007Z") }
हम उपयोग कर सकते हैं $dateToString
उस दस्तावेज़ को तारीखों के साथ एक अलग प्रारूप में वापस करने के लिए।
उदाहरण के लिए, आइए दिनांक से सेकंड और मिलीसेकंड हटा दें:
db.cats.aggregate(
[
{
$project: {
name: 1,
formattedDate: { $dateToString: { format: "%Y-%m-%d %H:%M", date: "$born" } }
}
}
]
)
परिणाम:
{ "_id" : 1, "name" : "Scratch", "formattedDate" : "2021-01-03 23:30" } { "_id" : 2, "name" : "Meow", "formattedDate" : "2019-12-08 04:00" } { "_id" : 3, "name" : "Fluffy", "formattedDate" : "2020-09-24 10:45" }
हम format
. का उपयोग करके तिथि को प्रारूपित करने में सक्षम थे पैरामीटर। यह एक वैकल्पिक पैरामीटर है जो आपको यह इंगित करने के लिए शून्य या अधिक प्रारूप विनिर्देशक का उपयोग करने की अनुमति देता है कि दिनांक को कैसे प्रारूपित किया जाना चाहिए।
MongoDB देखें $dateToString
प्रारूप विनिर्देशकों की पूरी सूची के लिए प्रारूप विनिर्देशक जिनका उपयोग $dateToString
के साथ किया जा सकता है ऑपरेटर।
दिनांक dd/mm/yyyy
. में प्रारूप
यहां एक और उदाहरण दिया गया है जो तारीखों को dd/mm/yyyy
. में बदल देता है प्रारूप:
db.cats.aggregate(
[
{
$project: {
_id: 0,
formattedDate: { $dateToString: { format: "%d/%m/%Y", date: "$born" } }
}
}
]
)
परिणाम:
{ "formattedDate" : "03/01/2021" } { "formattedDate" : "08/12/2019" } { "formattedDate" : "24/09/2020" }
दिनांक mm/dd/yyyy
. में प्रारूप
या इसे mm/dd/yyyy
. में डालने के लिए प्रारूप, हम बस पहले दो प्रारूप विनिर्देशों को चारों ओर बदल सकते हैं:
db.cats.aggregate(
[
{
$project: {
_id: 0,
formattedDate: { $dateToString: { format: "%m/%d/%Y", date: "$born" } }
}
}
]
)
परिणाम:
{ "formattedDate" : "01/03/2021" } { "formattedDate" : "12/08/2019" } { "formattedDate" : "09/24/2020" }
एकल दिनांक भाग लौटाएं
आप जितने चाहें उतने या कुछ प्रारूप विनिर्देशक शामिल कर सकते हैं। उदाहरण के लिए, आप दिनांक के केवल वर्ष भाग को आउटपुट करने के लिए केवल एक प्रारूप विनिर्देशक का उपयोग कर सकते हैं।
उदाहरण:
db.cats.aggregate(
[
{
$project: {
_id: 0,
formattedDate: { $dateToString: { format: "%Y", date: "$born" } }
}
}
]
)
परिणाम:
{ "formattedDate" : "2021" } { "formattedDate" : "2019" } { "formattedDate" : "2020" }
हालांकि, ध्यान रखें कि किसी दिनांक ऑब्जेक्ट से केवल एक दिनांक भाग निकालने के अन्य तरीके हैं। उदाहरण के लिए, आप $year
. का उपयोग कर सकते हैं वर्ष निकालने के लिए ऑपरेटर।
प्रत्येक विशिष्ट तिथि भाग को निकालने के लिए यहां विभिन्न ऑपरेटर दिए गए हैं:
$dayOfWeek
$dayOfMonth
$dayOfYear
$hour
$isoWeek
$isoWeekYear
$isoDayOfWeek
$millisecond
$minute
$month
$second
$week
$year
आप $dateToParts
. का भी उपयोग कर सकते हैं ऑपरेटर को एक दस्तावेज़ वापस करने के लिए जिसमें सभी विभिन्न दिनांक भागों को अपने स्वयं के फ़ील्ड में अलग किया गया हो।