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

एक MongoDB दस्तावेज़ में अप्सर्ट ऐरे तत्व मिलान मानदंड?

कुछ ऐप-साइड लॉजिक के बिना आपको एक अपडेट का उपयोग करना संभव नहीं है। ध्यान दें कि एक विशेषता के रूप में upsert इस विशिष्ट समस्या के लिए प्रासंगिक नहीं है जब तक कि आप स्वचालित रूप से नए विजेट दस्तावेज़ नहीं बनाना चाहते हैं यदि प्रदान किए गए नाम के साथ कोई मौजूद नहीं है।

आप जिस समस्या का सामना कर रहे हैं वह यह है कि कोई कार्यक्षमता नहीं है जो आपको सरणी तत्व के अस्तित्व के आधार पर दो अलग-अलग अपडेट करने की अनुमति देती है। आपके केवल दो विकल्प हैं:

  1. आइटम ढूंढें, प्रासंगिक संपत्तियों के अस्तित्व का निर्धारण करें, अपने नए के साथ एक उपयुक्त अपडेट संकलित करें या गुणों को बदलें और इसे निष्पादित करें। यह महत्वपूर्ण नकारात्मक पक्ष के साथ आता है कि यह एक समवर्ती सुरक्षित विधि नहीं है। दूसरे शब्दों में, यदि दो वेब सेवाएं एक ही समय में ऐसा करने का प्रयास करती हैं तो एक-दूसरे के परिवर्तनों को अधिलेखित कर सकती है।
  2. विजेट गुणों को एम्बेड करने के बजाय शीर्ष स्तरीय दस्तावेज़ बनाएं। आप जो चाहते हैं उसे करने के लिए आपको अप्सर्ट का उपयोग करने की अनुमति देता है। स्पष्ट रूप से नकारात्मक पक्ष यह है कि स्कीमा डिज़ाइन के मामले में यह बहुत अच्छा विकल्प नहीं है। उदाहरण के लिए, यदि आप कोई विजेट प्राप्त करते हैं, तो आपको स्वचालित रूप से सभी गुण नहीं मिलेंगे।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेस्टेड सरणियों का MongoDB प्रोजेक्शन

  2. Mongoose (ExpressJS) में सहेजने से पहले मॉडल में डेटा स्वरूपित करने के लिए कैसे

  3. SQL में किसी संख्या को मुद्रा के रूप में प्रारूपित करें

  4. 2d भू अनुक्रमणिका के साथ Mongoose स्कीमा में सरणी में ऑब्जेक्ट को सही ढंग से कैसे परिभाषित करें?

  5. MongoDB:उसी दस्तावेज़ से डेटा का उपयोग करके दस्तावेज़ों को अद्यतन करना