Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

क्या एक ही अपडेट में $addToSet का कई बार उपयोग कर सकते हैं?

हाँ, एक ही अपडेट ऑपरेशन में $addToSet का कई बार उपयोग करना संभव है। यह ऑपरेटर सरणी में मान जोड़ता है केवल अगर वे पहले से मौजूद नहीं हैं, जिससे डुप्लिकेट रोकने में मदद मिलती है।

उदाहरण: नेस्टेड सरणी सेटअप

एक संग्रह बनाएं जिसमें नेस्टेड ऑब्जेक्ट के अंदर विषयों की सरणी हो:

> db.demo27.insertOne({"StudentDetails":{"101":{"Subject":["Java"]}}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e15f9e822d07d3b95082e7f") }
> db.demo27.insertOne({"StudentDetails":{"101":{"Subject":["MySQL"]}}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e15f9eb22d07d3b95082e80") }

दस्तावेज़ देखना

> db.demo27.find().pretty();

आउटपुट:

{
    "_id" : ObjectId("5e15f9e822d07d3b95082e7f"),
    "StudentDetails" : {
        "101" : { "Subject" : [ "Java" ] }
    }
}
{
    "_id" : ObjectId("5e15f9eb22d07d3b95082e80"),
    "StudentDetails" : {
        "101" : { "Subject" : [ "MySQL" ] }
    }
}

एक ही अपडेट में $addToSet का उपयोग

पहले दस्तावेज़ की सरणी में "MongoDB" जोड़ें (डॉट नोटेशन के साथ नेस्टेड पथ):

> db.demo27.update({}, {$addToSet: {"StudentDetails.101.Subject": "MongoDB"}}, {upsert: true})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

परिणाम जांचें

> db.demo27.find().pretty();

आउटपुट:

{
    "_id" : ObjectId("5e15f9e822d07d3b95082e7f"),
    "StudentDetails" : {
        "101" : { "Subject" : [ "Java", "MongoDB" ] }
    }
}
{
    "_id" : ObjectId("5e15f9eb22d07d3b95082e80"),
    "StudentDetails" : {
        "101" : { "Subject" : [ "MySQL" ] }
    }
}

नोट

  • $addToSet सुनिश्चित करता है कि "MongoDB" केवल पहली सरणी में जोड़ा गया क्योंकि दूसरी सरणी क्वेरी मानदंड से मेल नहीं खाती (खाली फिल्टर {} पहले दस्तावेज़ से मेल खाता है)।
  • एक ही अपडेट में कई फील्ड्स पर $addToSet लागू करने के लिए, ऑपरेटर ऑब्जेक्ट में कई कुंजियाँ शामिल करें: {$addToSet: {"field1": val1, "field2": val2}}।
  • आधुनिक MongoDB संस्करणों में updateOne/updateMany पसंद किए जाते हैं।
  1. विंडोज बार-बार वही अपडेट पेश या इंस्टॉल करता रहता है विंडोज बार-बार वही अपडेट पेश या इंस्टॉल करता रहता है

    यदि Microsoft Update या Windows Update विंडोज 11/10/8/7 में बार-बार वही अपडेट पेश या इंस्टॉल करता रहता है, तो यह पोस्ट कुछ चीजें सुझाता है जिन्हें आप इस समस्या को ठीक करने के लिए आज़मा सकते हैं। यह आमतौर पर तब होता है जब कोई अपडेट ठीक से इंस्टॉल नहीं हुआ हो, और आपका विंडोज ऑपरेटिंग सिस्टम इंस्टॉल या

  1. एक साथ कई Gmail अकाउंट कैसे इस्तेमाल करें? एक साथ कई Gmail अकाउंट कैसे इस्तेमाल करें?

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

  1. Android डिवाइस पर डुप्लीकेट कॉन्टैक्ट्स को तुरंत कैसे हटाएं Android डिवाइस पर डुप्लीकेट कॉन्टैक्ट्स को तुरंत कैसे हटाएं

    स्मार्टफोन के आगमन के साथ, हमारे मोबाइल डिवाइस पर संपर्क सूची बनाए रखना और कुछ टैप के साथ उन्हें कॉल करना काफी सुविधाजनक हो गया है। हालांकि, Android फोरम पर संपर्कों से संबंधित एक समस्या को उजागर किया गया है जो समान जानकारी के साथ कई संपर्कों के निर्माण की समस्या का वर्णन करती है। ये समान संपर्क अधि