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

MongoDB में एक सरणी में एक विशिष्ट स्थिति में एक मान डालें

MongoDB में, आप $push . का उपयोग कर सकते हैं किसी सरणी में मान जोड़ने के लिए ऑपरेटर।

इस ऑपरेटर का उपयोग विभिन्न संशोधकों के साथ किया जा सकता है, जिनमें से एक है $position संशोधक $position संशोधक आपको उस सरणी के भीतर स्थिति निर्दिष्ट करने की अनुमति देता है जिसे आप नया मान सम्मिलित करना चाहते हैं।

ऐरे की शुरुआत में मान जोड़ें

मान लीजिए हमारे पास निम्नलिखित संग्रह है:

{ "_id" : 1, "prod" : "Bat", "sizes" : [ "S", "M", "XL" ] }
{ "_id" : 2, "prod" : "Hat", "sizes" : [ "S", "L", "XL" ] }
{ "_id" : 3, "prod" : "Cap", "sizes" : [ "M", "L" ] }

और मान लें कि हम दस्तावेज़ 3 में सरणी की शुरुआत में एक मान जोड़ना चाहते हैं।

हम यह कर सकते हैं:

db.products.update(
   { _id: 3 },
   { 
     $push: { 
        sizes: {
           $each: [ "S" ],
           $position: 0
        }
      } 
    }
)

आइए अब संग्रह को फिर से देखें:

db.products.find()

परिणाम:

{ "_id" : 1, "prod" : "Bat", "sizes" : [ "S", "M", "XL" ] }
{ "_id" : 2, "prod" : "Hat", "sizes" : [ "S", "L", "XL" ] }
{ "_id" : 3, "prod" : "Cap", "sizes" : [ "S", "M", "L" ] }

Arrays शून्य-आधारित हैं, इसलिए position: 0 मान को सरणी में पहले तत्व के रूप में जोड़ता है।

ऐरे के बीच में एक मान जोड़ें

मान लीजिए कि हम मान जोड़ना चाहते हैं M दस्तावेज़ 2 के लिए, और हम चाहते हैं कि यह S . के बीच जाए और L

यहां बताया गया है कि हम यह कैसे कर सकते हैं:

db.products.update(
   { _id: 2 },
   { 
     $push: { 
        sizes: {
           $each: [ "M" ],
           $position: 1
        }
      } 
    }
)

आइए अब संग्रह को फिर से देखें:

db.products.find()

परिणाम:

{ "_id" : 1, "prod" : "Bat", "sizes" : [ "S", "M", "XL" ] }
{ "_id" : 2, "prod" : "Hat", "sizes" : [ "S", "M", "L", "XL" ] }
{ "_id" : 3, "prod" : "Cap", "sizes" : [ "S", "M", "L" ] }

हमने $position: 1 . का इस्तेमाल किया , क्योंकि यही वह स्थिति है जिसे हम चाहते थे M जाने के लिए (यानी दूसरा स्थान)।

नकारात्मक मान

आप स्थिति के रूप में एक ऋणात्मक मान भी प्रदान कर सकते हैं। जब आप ऐसा करते हैं, तो अंत से वापस गिनती करते हुए निर्दिष्ट नकारात्मक स्थिति में मान डाला जाता है।

मान लीजिए हम L insert डालना चाहते हैं M . के बीच में और XL दस्तावेज़ 1 में।

यहां बताया गया है कि हम नकारात्मक स्थिति का उपयोग करके इसके बारे में कैसे जाएंगे:

db.products.update(
   { _id: 1 },
   { 
     $push: { 
        sizes: {
           $each: [ "L" ],
           $position: -1
        }
      } 
    }
)

रिजल्ट चेक करें:

db.products.find()

परिणाम:

{ "_id" : 1, "prod" : "Bat", "sizes" : [ "S", "M", "L", "XL" ] }
{ "_id" : 2, "prod" : "Hat", "sizes" : [ "S", "M", "L", "XL" ] }
{ "_id" : 3, "prod" : "Cap", "sizes" : [ "S", "M", "L" ] }

एक नकारात्मक सूचकांक स्थिति के साथ, यदि आप $each . में एकाधिक तत्व निर्दिष्ट करते हैं सरणी, अंतिम जोड़ा तत्व अंत से निर्दिष्ट स्थिति में है।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB पर मंदी का प्रदर्शन प्रभाव:AWS, Azure और DigitalOcean

  2. MongoDB प्रदर्शन - एकाधिक डेटाबेस वाले

  3. MongoDB $toBool

  4. MongoDB के लिए Percona सर्वर को अपग्रेड करने के लिए टिप्स

  5. MongoDB के लिए Morphia, Mongo4j और स्प्रिंग डेटा की तुलना कैसे करते हैं?