MongoDB में, $currentDate
ऑपरेटर किसी फ़ील्ड के मान को वर्तमान दिनांक पर सेट करता है।
इसे तारीख . के रूप में सेट किया जा सकता है या एक टाइमस्टैम्प प्रकार। डिफ़ॉल्ट दिनांक . है ।
$currentDate
एक अद्यतन है ऑपरेटर, और केवल दस्तावेज़ों को अद्यतन करते समय उपयोग किया जा सकता है, न कि उन्हें सम्मिलित करते समय (हालाँकि इसका उपयोग अपर ऑपरेशंस में किया जा सकता है)।
उदाहरण
मान लीजिए हमारे पास dogs
. नामक संग्रह है निम्नलिखित दस्तावेज़ के साथ:
{
"_id" : 1,
"name" : "Wag",
"goodDog" : true,
"dateModified" : ISODate("2020-01-01T00:00:00Z")
}
और हम दस्तावेज़ में बदलाव करना चाहते हैं। जब हम परिवर्तन करते हैं, तो हमें dateModified
. को अपडेट करने की आवश्यकता होती है परिवर्तन की तिथि के लिए फ़ील्ड।
इसलिए, हम $currentDate
. का उपयोग कर सकते हैं दिनांक को वर्तमान तिथि पर सेट करने के लिए ऑपरेटर। हम कुछ ऐसा कर सकते हैं:
db.dogs.update(
{ _id: 1 },
{
$currentDate: {
dateModified: true
},
$set: {
goodDog: false
}
}
)
यहां, हम dateModified: true
. का उपयोग करते हैं तिथि . का उपयोग करके तिथि निर्धारित करने के लिए टाइप करें (इसे दिनांक . के रूप में सेट करने का यह एक संक्षिप्त तरीका है टाइप करें)।
हम संग्रह/दस्तावेज़ को फिर से देखकर परिणाम की पुष्टि कर सकते हैं:
db.dogs.findOne()
परिणाम:
{ "_id" : 1, "name" : "Wag", "goodDog" : false, "dateModified" : ISODate("2021-01-16T04:17:41.206Z") }
हम देख सकते हैं कि dateModified
फ़ील्ड को वर्तमान दिनांक (अर्थात वह दिनांक/समय जब मैंने अपडेट चलाया था) में अपडेट कर दिया गया है। goodDog
निर्दिष्ट के अनुसार फ़ील्ड को भी अपडेट कर दिया गया है।
टाइमस्टैम्प
डिफ़ॉल्ट रूप से $currentDate
तिथि . का उपयोग करता है प्रकार। आप वैकल्पिक रूप से किसी दस्तावेज़ में प्रकार निर्दिष्ट कर सकते हैं। इसलिए, आप {$type: timestamp}
. का उपयोग कर सकते हैं ताकि तारीख को टाइमस्टैम्प . में अपडेट किया जा सके बीएसओएन प्रकार।
उदाहरण:
db.dogs.update(
{ _id: 1 },
{
$currentDate: {
dateModified: { $type: "timestamp" }
},
$set: {
goodDog: true
}
}
)
इस मामले में, हमने एक दस्तावेज़ प्रदान किया जिसमें टाइमस्टैम्प . निर्दिष्ट किया गया था प्रकार।
आप इस विधि का उपयोग दिनांक . के लिए भी कर सकते हैं टाइप करें (या शॉर्टहैंड विधि का उपयोग करें जैसा कि पिछले उदाहरण में देखा गया है)।
संग्रह की जाँच करें:
db.dogs.findOne()
परिणाम:
{ "_id" : 1, "name" : "Wag", "goodDog" : true, "dateModified" : Timestamp(1610771023, 1) }