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

किसी आइटम को मोंगोडीबी सरणी में कैसे स्थानांतरित करें?

यहां एक तत्व को नई स्थिति में ले जाने का एक और तरीका है जो it2 और it3 की स्थिति को बदल देगा...

  1. $pull [ Docs Here ] .

    update({"name": "myDoc"}, {$pull: {"items" : "it3"}});
    
  2. $ पुश का उपयोग करके तत्व को नई स्थिति में डालें। [ डॉक्स यहां ]

    update({"name": "myDoc"}, { 
        $push: { 
            "items" : { $each : [ "it3" ], $position : 1 }
        }
    });
    

कब उपयोग करें

$set का उपयोग करने के लिए Pouzor का उत्तर सरल हो सकता है और कई उपयोग मामलों के लिए बेहतर प्रदर्शन कर सकता है।

हालाँकि, यदि एक से अधिक उपयोगकर्ता एक साथ सरणी आइटम जोड़ रहे हैं, हटा रहे हैं, और पुन:क्रमित कर रहे हैं, तो इस पद्धति का अर्थ है कि आप एक-दूसरे के परिवर्तनों को अधिलेखित नहीं करेंगे।

यह कुछ मामलों में अधिक कुशल भी हो सकता है (जैसे बड़े सरणी तत्व) क्योंकि कम डेटा लिखा जा रहा है।

गोचा:सूचियों की सूची

यदि आप जिस सूची को पुन:क्रमित कर रहे हैं, वह सरणियों की एक सरणी है, तो आपको $all ऑपरेटर का उपयोग करने की आवश्यकता है $pull [ Docs here ]

यह उदाहरण लें:

{
    name: "myDoc",
    items: [  
        [ "User", "dofij20r91dj93" ],   
        [ "User", "239vjvidjfsldf" ], 
        [ "User", "2309jvdsjdkk23" ]
    ]
}

सूचियों की सूची से पहली सूची को हटाने के लिए कोड यहां दिया गया है:

update({"name": "myDoc"}, {
    $pull: {
        "items" : {
            $all : [ "User", "dofij20r91dj93" ]  // the sub-list to $pull
        }
    }
});

वस्तुओं की सूची

यह आसान है। मान लें कि आपके पास वस्तुओं की निम्नलिखित सूची है:

{
    name: "myDoc",
    items: [  
        { type: "User",  id: "dofij20r91dj93", name: "Dave" },   
        { type: "Group", id: "239vjvidjfsldf", name: "Accountants" }, 
        { type: "User",  id: "2309jvdsjdkk23", name: "Toni" }
    ]
}

आप इस तरह $खींच सकते हैं:

update({"name": "myDoc"}, {
    $pull: { 
        "items" : { type: "User", id: "dofij20r91dj93" } 
    }
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी और सी # खोजें ()

  2. MongoTemplate upsert - pojo से अपडेट करने का आसान तरीका (किस उपयोगकर्ता ने संपादित किया है)?

  3. उल्का डेटा के लिए एक क्रमांकित सूची बनाना

  4. नेवला 'findById' वैध आईडी के साथ शून्य लौटाता है

  5. 'autoIndexID' एक मान्य संग्रह विकल्प नहीं है - mongoDB