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

ऑब्जेक्टिड फ़ील्ड के बिना मोंगोडब संग्रह पर अंतिम अद्यतन/सम्मिलित/डिलीट ऑपरेशन समय कैसे प्राप्त करें?

एक लंबी कहानी को छोटा करने के लिए:MongoDB में एक लचीला है स्कीमा। बस एक दिनांक फ़ील्ड जोड़ें। चूंकि पुरानी प्रविष्टियों में यह नहीं है, वे अंतिम प्रविष्टि नहीं हो सकती हैं।

आइए उस फ़ील्ड को mtime कहते हैं ।

इसलिए आपकी स्कीमा परिभाषा में दिनांक फ़ील्ड जोड़ने के बाद, हम नए फ़ील्ड पर अवरोही क्रम में एक अनुक्रमणिका उत्पन्न करते हैं:

db.yourCollction.createIndex({mtime:-1})

संग्रह के लिए अंतिम समय ढूँढना अब आसान है:

db.yourCollection.find({"mtime":{"$exists":true}}).sort({"mtime":-1}).limit(1)

इसे हर संग्रह के लिए करें। जब उपरोक्त क्वेरी किसी संग्रह को शुद्ध करने के लिए आपके द्वारा निर्धारित समय सीमा के भीतर कोई मान नहीं लौटाती है, तो बस इसे छोड़ दें, क्योंकि जब से आपने एमटाइम फ़ील्ड पेश किया है तब से इसे संशोधित नहीं किया गया है।

आपके संग्रह साफ़ हो जाने के बाद, आप mtime . को हटा सकते हैं आपकी स्कीमा परिभाषा से फ़ील्ड। दस्तावेज़ों से इसे हटाने के लिए, आप एक साधारण क्वेरी चला सकते हैं:

db.yourCollection.update(
  { "mtime":{ $exists:true} },
  { "$unset":{ "mtime":""} },
  { multi: true}
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb - Mongoimport त्रुटि अमान्य वर्ण

  2. एक निश्चित बिंदु के निकटतम बिंदु ढूँढना इसके निर्देशांक और अधिकतम दूरी को देखते हुए - मीन स्टैक के साथ नेवला का उपयोग करके क्वेरी परिणाम अपरिभाषित

  3. मोंगोडीबी नोडजेएस मूल चालक (मोंगोडब) बनाम मोंगो शैल प्रदर्शन

  4. MongoDB:लिंक के बिना यादृच्छिक तत्व कैसे वापस करें? (मोंगोडीबी, सी#)

  5. बड़े MongoDB संग्रह को rmongodb और plyr के साथ R में data.frame में स्थानांतरित करें