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

मोंगोडीबी:अपडेट/अप्सर्ट बनाम इंसर्ट

यदि आप दस्तावेज़ सम्मिलित कर रहे हैं, तो MongoDB को यह जाँचने की आवश्यकता है कि समान ObjectId वाला दस्तावेज़ मौजूद है या नहीं। यदि यह मौजूद है तो दस्तावेज़ सम्मिलित नहीं किया जा सकता है।

अपडेट पर भी यही मामला लागू होता है। यह जांचना आवश्यक है कि दस्तावेज़ मौजूद है या नहीं। अन्यथा, अद्यतन नहीं किया जा सकता। वह स्थिति जहां आपकी अपडेट क्वेरी धीमी हो जाएगी, जब वह आपके ऑब्जेक्ट आईडी/अनुक्रमित फ़ील्ड के आधार पर दस्तावेज़ नहीं ढूंढ पाती है।

अन्यथा, दस्तावेज़ डालने/अपडेट करने का प्रदर्शन समान होना चाहिए।

तो इन्सर्ट इस तरह हो सकता है //(फास्ट)

  1. (दस्तावेज़ की जाँच करें -> नहीं मिला -> नया दस्तावेज़ सम्मिलित करें) अन्यथा
  2. (दस्तावेज़ की जाँच करें -> मिला -> सम्मिलित नहीं किया जा सकता)

और अप्सर्ट के साथ अपडेट करें (ऑब्जेक्टआईड उपलब्ध) //(फास्ट)

  1. (दस्तावेज़ की जाँच करें -> नहीं मिला -> नया दस्तावेज़ सम्मिलित करें) अन्यथा
  2. (दस्तावेज़ की जाँच करें -> मिला -> दस्तावेज़ अपडेट करें)

या अप्सर्ट के साथ अपडेट करें (बिना ऑब्जेक्ट आईडी के) // यह धीमा है

  1. (ऑब्जेक्ट आईडी खोजें (धीमा) -> नहीं मिला -> नया दस्तावेज़ डालें) अन्यथा
  2. (ऑब्जेक्ट आईडी खोजें (धीमा)-> मिला -> दस्तावेज़ अपडेट करें)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB jsonSchema सत्यापन अतिरिक्त गुण

  2. मोंगो समूह और धक्का:सभी क्षेत्रों को धक्का देना

  3. $addFields जब कोई $मैच नहीं मिला

  4. नेस्टेड संरचना में CSV पढ़ने के लिए mongoimport का उपयोग करना?

  5. मोंगोडीबी जावा:ऑपरेटर में क्वेरीबिल्डर $ का उपयोग करके मोंगो में ऑब्जेक्ट्स ढूंढना कुछ भी नहीं देता है