কম্পিউটার

MongoDB $addToSet অবজেক্টের একটি গভীর নেস্টেড অ্যারে যোগ করতে?


$addToSet অপারেটর একটি অ্যারেতে একটি মান যোগ করে যদি না মানটি ইতিমধ্যে উপস্থিত থাকে, এই ক্ষেত্রে $addToSet সেই অ্যারেতে কিছুই করে না৷

আসুন প্রথমে নথি-

সহ একটি সংগ্রহ তৈরি করি
> db.demo380.insertOne({
...
...    "details" : [
...       {
...          "Name" : "Chris",
...          "details1" : [ ]
...       },
...       {
...          "Name" : "David",
...          "details1" : [ ]
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5b56e32ae06a1609a00b11")
}

Find() পদ্ধতি -

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

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

তৈরি করবে
{
   "_id" : ObjectId("5e5b56e32ae06a1609a00b11"),
   "details" : [
      {
         "Name" : "Chris",
         "details1" : [ ]
      },
      {
         "Name" : "David",
         "details1" : [ ]
      }
   ]
}

অবজেক্ট -

এর একটি গভীর নেস্টেড অ্যারে যুক্ত করার জন্য নিম্নলিখিত প্রশ্নটি রয়েছে
> db.demo380.update({
...    "details.Name": "David"
...    }, {
...    $addToSet: {
...       "details.$.details1": {
...          'SubjectName': "MongoDB",
...          'TeacherName':"Bob"
...       }
...    }
... }, false, true);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Find() পদ্ধতি -

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

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

তৈরি করবে
{
   "_id" : ObjectId("5e5b56e32ae06a1609a00b11"),
   "details" : [
      {
         "Name" : "Chris",
         "details1" : [ ]
      },
      {
         "Name" : "David",
         "details1" : [
            {
               "SubjectName" : "MongoDB",
               "TeacherName" : "Bob"
            }
         ]
      }
   ]
}

  1. একটি অ্যারেতে একটি বস্তু অ্যাক্সেস করতে MongoDB ক্যোয়ারী

  2. MongoDB-তে অবজেক্ট আইডির অ্যারের জন্য $লুকআপ করবেন?

  3. নেস্টেড অ্যারে সমষ্টিগত করতে MongoDB ক্যোয়ারী

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