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

उन सभी दस्तावेज़ों को ढूँढ़ें और निकालें जिनकी createDate एक महीने पुरानी है

आप एक तिथि वस्तु प्राप्त करने का प्रयास कर सकते हैं जो वर्तमान तिथि के महीने में होती है (यह ध्यान में रखते हुए कि जावास्क्रिप्ट महीने की तिथियां 0-आधारित अनुक्रमणिका हैं) और अब से एक महीने की तारीख प्राप्त करने के लिए 1 जोड़ें, जिसे आप अपनी क्वेरी में $gt createdDate . पर ऑपरेटर फ़ील्ड:

var now = new Date();
d = new Date(now.getFullYear(), now.getMonth()+1, now.getDate());
db.collection.remove({ createdDate: { $gt: d } })

अपडेट करें

आपके दूसरे प्रश्न के लिए,

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. दिनांक सीमा पर $gt और $lt बाधाओं का उपयोग करके Mongoexport

  2. बहु-दस्तावेज़ लेनदेन में नाम स्थान नहीं बना सकता (MongoDB 4.0, स्प्रिंग डेटा 2.1.0, स्प्रिंग बूट)

  3. NoClassDefFoundError => ClassPath$JavaContext जब प्ले स्टार्ट का उपयोग कर रहा हो

  4. /accounts/login/ id पर TypeError (str, unicode, ObjectId) का एक उदाहरण होना चाहिए, न कि <type 'int'>

  5. स्ट्रिंग से प्रत्येक गैर utf-8 प्रतीकों को हटाएं