কম্পিউটার

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")
}

Find() পদ্ধতির সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -

> 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 এ একটি অ্যারের ভিতরে উপাদান আপডেট করবেন?

  2. MongoDB-তে অ্যারে অবজেক্ট সহ একটি অ্যারের উপাদানের মান বৃদ্ধি করুন

  3. নেস্টেড অ্যারে সাজানোর জন্য MongoDB ক্যোয়ারী?

  4. অ্যারে মান দ্বারা MongoDB সংগ্রহ সাজান?