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

mongoDB में कोई ठीक से कई तिथियों को कैसे बढ़ाता है?

Mongo 4.2 में शुरू हो रहा है , db.collection.update() एक एकत्रीकरण पाइपलाइन को स्वीकार कर सकता है, अंत में अपने स्वयं के मूल्य के आधार पर एक फ़ील्ड के अद्यतन की अनुमति देता है; इस प्रकार अक्षम खोज/पूर्वानुमान पैटर्न से बचना।

साथ ही, आप $inc . देख रहे थे ऑपरेटर एक दिन जोड़ने के लिए, लेकिन अब हम एक अद्यतन के रूप में एक एकत्रीकरण पाइपलाइन का उपयोग कर सकते हैं, $add ऑपरेटर का उपयोग किया जा सकता है:

// { "date" : ISODate("2020-04-05T07:14:17.802Z"), "x" : "y" }
db.collection.updateMany(
  { date : { $exists : true } },
  [{ $set: { date: { $add: ["$date", 24*60*60000] } } }]
)
// { "date" : ISODate("2020-04-06T07:14:17.802Z"), "x" : "y" }
  • पहला भाग { date : { $exists : true } } मिलान क्वेरी है, जो फ़िल्टर करना है कि कौन से दस्तावेज़ों को अद्यतन करना है (हमारे मामले में date . वाले सभी दस्तावेज़ फ़ील्ड)।

  • दूसरा भाग [{ $set: { date: { $add: ["$date", 24*60*60000] } } }] अद्यतन एकत्रीकरण पाइपलाइन है (एक एकत्रीकरण पाइपलाइन के उपयोग को दर्शाने वाले वर्ग कोष्ठक पर ध्यान दें)। $set एक नया एकत्रीकरण ऑपरेटर है और $addFields . का उपनाम है . फिर किसी भी एकत्रीकरण ऑपरेटर का उपयोग $set . के भीतर किया जा सकता है मंच; हमारे मामले में एक साधारण $add मौजूदा तारीख और मिलीसेकंड में एक दिन के प्रतिनिधित्व के बीच की घटना।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक MongoDB दस्तावेज़ के _id को कैसे अपडेट करें?

  2. नेस्टेड फ़ील्ड में MongoDB अद्यतन डेटा

  3. मोंगोडीबी $ट्रंक

  4. MongoDB में हटाने पर संदर्भित वस्तुओं को स्वचालित रूप से हटा दें

  5. नेस्टजेएस के एबीसी:मोंगोडीबी (मोंगोज) के साथ एक शुरुआती गाइड।