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

नेस्टेड सरणी के अंदर MongoDB वेतन वृद्धि मूल्य?

<घंटा/>

आप इसके लिए स्थितीय ऑपरेटर $ का उपयोग कर सकते हैं। उपरोक्त अवधारणा को समझने के लिए, आइए हम दस्तावेज़ के साथ एक संग्रह बनाते हैं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है -

> db.incrementValueInNestedArrayDemo.insertOne(
   ... {"UniqueId":1,
      ... "StudentDetails":
      ... [
         ... {
            ... "StudentId":101,
            ... "StudentMarks":97
         ... },
         ... {
            ... "StudentId":103,
            ... "StudentMarks":99
         ... },
         ... {
            ... "StudentId":105,
            ... "StudentMarks":69
         ... },
         ... {
            ... "StudentId":107,
            ... "StudentMarks":59
         ... }
      ... ]
   ... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77dd71fc4e719b197a12f7")
}

संग्रह से सभी दस्तावेज़ों को ढूँढें () विधि की सहायता से प्रदर्शित करें। क्वेरी इस प्रकार है -

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

निम्न आउटपुट है -

{
   "_id" : ObjectId("5c77dd71fc4e719b197a12f7"),
   "UniqueId" : 1,
   "StudentDetails" : [
      {
         "StudentId" : 101,
         "StudentMarks" : 97
      },
      {
         "StudentId" : 103,
         "StudentMarks" : 99
      },
      {
         "StudentId" : 105,
         "StudentMarks" : 92
      },
      {
         "StudentId" : 107,
         "StudentMarks" : 59
      }
   ]
}

नेस्टेड सरणी में मान बढ़ाने के लिए क्वेरी यहां दी गई है -

> db.incrementValueInNestedArrayDemo.update({UniqueId:1,"StudentDetails.StudentId":107},
{$inc:{"StudentDetails.$.StudentMarks":1}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

छात्र आईडी 107 के साथ उपरोक्त संग्रह में नेस्टेड सरणी मान की जांच करें या नहीं -

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

निम्न आउटपुट है -

{
   "_id" : ObjectId("5c77dd71fc4e719b197a12f7"),
   "UniqueId" : 1,
   "StudentDetails" :
   [
      {
         "StudentId" : 101,
         "StudentMarks" : 97
      },
      {
         "StudentId" : 103,
         "StudentMarks" : 99
      },
      {
         "StudentId" : 105,
         "StudentMarks" : 92
      },
      {
         "StudentId" : 107,
         "StudentMarks" : 60
      }
   ]
}

नमूना आउटपुट को देखें, फ़ील्ड नाम "स्टूडेंटमार्क्स" को 59 से 60 तक अपडेट किया गया है, जिसका अर्थ है कि 1 की वृद्धि।


  1. MongoDB में सरणी वस्तु के साथ एक सरणी तत्व का वृद्धि मूल्य

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

  1. नेस्टेड सरणी को सॉर्ट करने के लिए MongoDB क्वेरी?

    MongoDB में नेस्टेड सरणी को सॉर्ट करने के लिए, $sort का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo505.insertOne( ... { ...    "details": [ ...    { ...       Name:"Chris", ...       "Score":58 ... &

  1. मोंगोडीबी संग्रह को ऐरे मूल्य से क्रमबद्ध करें?

    MongoDB संग्रह को Array मान के आधार पर सॉर्ट करने के लिए, $sort के साथ समुच्चय () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo577.insertOne( ...    { ... ...       "student": { ...          "details": [ ...