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

MongoDB अद्यतन कई सशर्त के साथ

आप वाकई बल्कराइट () दो "updateMany" . का उपयोग करके इसके बजाय इसके भीतर बयान। अपडेट स्टेटमेंट के किसी भी रूप में "वैकल्पिक चयन" करने के लिए एकत्रीकरण अभिव्यक्तियों का उपयोग नहीं किया जा सकता है।

db.country.bulkWrite([
  { "updateMany": {
    "filter": { "pop": { "$lt": 20000000 } },
    "update": { "$set": { "country": "Small Country" } }
  }},
  { "updateMany": {
    "filter": { "pop": { "$gt": 20000000 } },
    "update": { "$set": { "country": "Large Country" } } 
  }}
])

SERVER-6566 पर अभी भी "फ़ीचर अनुरोध" बकाया है "सशर्त वाक्यविन्यास" के लिए, लेकिन यह अभी तक हल नहीं हुआ है। "बल्क" एपीआई वास्तव में इस अनुरोध के उठने के बाद पेश किया गया था, और वास्तव में इसे अनुकूलित किया जा सकता है जैसा कि अधिक या कम करने के लिए दिखाया गया है वही बात।

साथ ही $out का इस्तेमाल करना एक एकत्रीकरण विवरण में जैसा कि अन्यथा सुझाव दिया गया था "अपडेट" . का विकल्प नहीं है और वर्तमान में केवल "नए संग्रह" को ही लिख सकता है। MongoDB 4.2 के बाद से निर्धारित परिवर्तन $out की अनुमति देगा। कोड> वास्तव में "अपडेट" . करने के लिए एक मौजूदा संग्रह, हालांकि यह केवल वहीं होगा जहां अद्यतन किया जाने वाला संग्रह एकत्रीकरण पाइपलाइन से डेटा एकत्र करने के भीतर उपयोग किए जाने वाले किसी भी अन्य संग्रह से अलग हो। तो यह संभव नहीं है उसी को अपडेट करने के लिए . के लिए एक एकत्रीकरण पाइपलाइन का उपयोग करने के लिए संग्रह जैसा आप पढ़ रहे हैं।

संक्षेप में, उपयोग करें>बल्कराइट ()




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला में छँटाई के अंत में शून्य मान कैसे रखें?

  2. एक चर के लिए क्वेरी खोजने में नेवला परिणाम लौटाएं

  3. मैं डेटा रेफरेंसिंग फॉर्म को एक संग्रह से दूसरे में कैसे प्राप्त कर सकता हूं? मोंगोडब

  4. MongoDB 3.6.3 में ReadConcernMajority को कैसे सक्षम करें?

  5. टेम्पलेट में उपयोग के लिए MongoDB से HTML प्राप्त करना