কম্পিউটার

একটি নথির মধ্যে একটি অ্যারের ভিতরে একটি বস্তু আপডেট করার জন্য MongoDB সিনট্যাক্স?


এর জন্য, MongoDB-তে findOneAndUpdate() ব্যবহার করুন। FindOneAndUpdate() পদ্ধতি ফিল্টার এবং সাজানোর মানদণ্ডের উপর ভিত্তি করে একটি একক নথি আপডেট করে।

আসুন নথি-

সহ একটি সংগ্রহ তৈরি করি
> db.demo553.insertOne(
... {
...    id:101,
...    "Name":"John",
...    midExamDetails:
...    [
...       {"SubjectName":"MySQL","Marks":70},
...       {"SubjectName":"MongoDB","Marks":35}
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8e3da19e5f92834d7f05ed")
}

Find() পদ্ধতি -

এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন
> db.demo553.find();

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
{ "_id" : ObjectId("5e8e3da19e5f92834d7f05ed"), "id" : 101, "Name" : "John", "midExamDetails" : [
   { "SubjectName" : "MySQL", "Marks" : 70 },
   { "SubjectName" : "MongoDB", "Marks" : 35 } 
] }

একটি MongoDB নথির মধ্যে একটি অ্যারের ভিতরে একটি অবজেক্ট আপডেট করার জন্য সিনট্যাক্সের জন্য ক্যোয়ারী রয়েছে -

> db.demo553.findOneAndUpdate(
...    { id:101,
...       "midExamDetails.SubjectName":"MongoDB"
...    },
...    { $set:{
...       'midExamDetails.$.Marks': 97
...    }
... }
... );
{
   "_id" : ObjectId("5e8e3da19e5f92834d7f05ed"),
   "id" : 101,
   "Name" : "John",
   "midExamDetails" : [
      {
         "SubjectName" : "MySQL",
         "Marks" : 70
      },
      {
         "SubjectName" : "MongoDB",
         "Marks" : 35
      }
   ]
}

Find() পদ্ধতি -

এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন
> db.demo553.find().pretty();

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
{
   "_id" : ObjectId("5e8e3da19e5f92834d7f05ed"),
   "id" : 101,
   "Name" : "John",
   "midExamDetails" : [
      {
         "SubjectName" : "MySQL",
         "Marks" : 70
      },
      {
         "SubjectName" : "MongoDB",
         "Marks" : 97
      }
   ]
}

  1. MongoDB এ একটি অ্যারের ভিতরে উপাদান আপডেট করবেন?

  2. MongoDB এ $push সহ একটি অ্যারে আপডেট করা হচ্ছে

  3. _id এর জন্য MongoDB সংগ্রহ আপডেট করা হচ্ছে?

  4. MongoDB-তে একটি অ্যারেতে সদৃশ জন্য পরীক্ষা করুন?