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

MongoDB में नेस्टेड सरणी के अंदर मान कैसे बढ़ाएं (Increment)?


स्थितीय ऑपरेटर ($) का उपयोग करना

क्वेरी मानदंड से मेल खाने वाले सरणी तत्व के अंदर फ़ील्ड को अपडेट करने के लिए स्थितीय $ ऑपरेटर का उपयोग करें।

उदाहरण: नेस्टेड सरणी के साथ दस्तावेज़

> db.incrementInNestedArrayDemo.insertOne( 
    { 
        "StudentId": 100, 
        "ProjectDetails": [ 
            { "ProjectId": 567778888, "TeamSize": 4 }, 
            { "ProjectId": 67888999, "TeamSize": 2 } 
        ] 
    } 
); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9a6b7b15e86fd1496b38aa") }

डेटा देखना

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

विशिष्ट नेस्टेड तत्व बढ़ाना

ProjectId 67888999 वाले तत्व का TeamSize 1 से बढ़ाएं:

> db.incrementInNestedArrayDemo.update( 
    { "StudentId": 100, "ProjectDetails.ProjectId": 67888999 }, 
    { $inc: { "ProjectDetails.$.TeamSize": 1 } } 
); 
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

सत्यापन

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

आउटपुट: दूसरा ProjectDetails तत्व अब "TeamSize": 3 दिखाता है (2 से 3)।

व्याख्या:

  • क्वेरी ProjectDetails.ProjectId का उपयोग करके सरणी में मिलान तत्व ढूंढती है।
  • $ अपडेट दस्तावेज़ में उस मिलान तत्व की स्थिति को संदर्भित करता है।
  • $inc मान को बढ़ाता है।

नोट: स्थितीय $ केवल पहले मिलान तत्व को अपडेट करता है। एकाधिक मिलान तत्वों को अपडेट करने के लिए (MongoDB 3.6+), फ़िल्टर्ड स्थितीय ऑपरेटर $[] के साथ arrayFilters का उपयोग करें।

  1. - MongoDB में सरणी ऑब्जेक्ट के साथ सरणी तत्व के मान को बढ़ाएं

    सरणी ऑब्जेक्ट के मान को बढ़ाने के लिए, $inc का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: >db.demo506.insertOne({details:[{id:1,Quantity:4},{id:2,Quantity:3},{id:3,Quantity:2},{id:4,Quantity:7}]}); { acknowledged : true, insertedId : ObjectId(5e882ed6987b6e0e9d18f576) } find() मेथड की मद

  1. - MongoDB में नेस्टेड सरणी को कैसे सॉर्ट करें?

    MongoDB में नेस्टेड सरणी को सॉर्ट करने के लिए, $sort का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo505.insertOne( { details: [ { Name:Chris, Score:58 }, { Name:Bob, Score:45 }, { Name:John, Score:68 }, { Name:David, Score:46 } ] }); { ackn

  1. - MongoDB कलेक्शन को ऐरे वैल्यू द्वारा सॉर्ट करें

    MongoDB कलेक्शन को ऐरे वैल्यू द्वारा सॉर्ट करने के लिए, $sort के साथ aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo577.insertOne({ student: { details: [ { Name:Chris, Score:45 }, { Name:Bob, Score:33 }, { Name:Davi