MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB संग्रह दस्तावेज़ों को स्वचालित रूप से आयु दें

डेटाबेस के साथ काम करने में सामान्य परिदृश्यों में से एक समय के आधार पर कुछ तालिकाओं को स्वचालित रूप से छांटना है। उदाहरण के लिए, आपके पास अपने उत्पाद में पृष्ठभूमि की नौकरियों को ट्रैक करने के लिए एक जॉब टेबल हो सकती है और आप केवल आखिरी घंटे के लिए जॉब रखना चाहते हैं। इसे आम तौर पर कैसे लागू किया जाता है, यह है कि आप एक डेमॉन प्रक्रिया लिखते हैं जो समय-समय पर चलती है और आपकी टेबल कचरा-एकत्र करती है। यह देखते हुए कि यह एक ऐसी सामान्य प्रक्रिया है, MongoDB के लोगों ने इस कार्यक्षमता को डेटाबेस में बनाया है जिसे आपके MongoDB परिनियोजन में लीवरेज किया जा सकता है! इसे "टीटीएल इंडेक्स" कहा जाता है। यहां बताया गया है कि आप दो आसान चरणों में टीटीएल इंडेक्स का उपयोग कैसे कर सकते हैं:

  1. चरण 1:दिनांक फ़ील्ड जोड़ें

    दस्तावेज़ की आयु दर्शाने के लिए अपने दस्तावेज़ में दिनांक फ़ील्ड जोड़ें। MongoDB इस फ़ील्ड का उपयोग यह निर्धारित करने के लिए करेगा कि क्या आपका दस्तावेज़ समाप्त हो गया है और इसे निकालने की आवश्यकता है। यदि आप दस्तावेज़ को अधिक समय तक रखना चाहते हैं, तो बस इस दस्तावेज़ को अद्यतन तिथि के साथ अद्यतन करें। नीचे दिए गए उदाहरण में मैंने अपने जॉब कलेक्शन में "क्रिएशनटाइम" फ़ील्ड जोड़ा है:

    db.jobs.insert( {
       "name" : testjob
       "creationTime": new Date('Oct 30, 2013: 11:00:00'),
       "type": 2,
    } )
  2. चरण 2:एक TTL अनुक्रमणिका जोड़ें

    इस फ़ील्ड पर अपने संग्रह में TTL अनुक्रमणिका जोड़ें। नीचे दिए गए इस उदाहरण में, हम 3600 के एक्सपायर आफ्टरसेकंड मान का उपयोग करेंगे। यह हर घंटे के बाद नौकरियों की समय सीमा समाप्त कर देगा:

    db.jobs.ensureIndex( { "creationTime": 1 }, { expireAfterSeconds: 3600 } )

    TTL डेमॉन हर 60 सेकंड में चलता है, इसलिए आपका दस्तावेज़ समाप्ति के लगभग 60 सेकंड के भीतर हटा दिया जाएगा। टीटीएल इंडेक्स का एक और फायदा यह है कि वे भी सामान्य इंडेक्स की तरह व्यवहार करते हैं - इसलिए आप दिनांक फ़ील्ड पर क्वेरी कर सकते हैं और क्वेरी प्लान इंडेक्स का उपयोग करेगा। अधिक विवरण के लिए, टीटीएल इंडेक्स पर मोंगोडीबी दस्तावेज देखें।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. आपके अपने Amazon AWS खाते में MongoDB-as-a-service

  2. नेस्टेड स्ट्रक्चर्स को एमजीओ के साथ स्टोर करना

  3. मेरे MongooseJS ObjectIds समानता परीक्षण में विफल क्यों होते हैं?

  4. mongoimport के आयात मोड

  5. MongoDB में पृष्ठ दोष ठीक करना