কম্পিউটার টিউটোরিয়াল

MongoDB-এ নেস্টেড অ্যারেতে $push ব্যবহার করে ডকুমেন্ট যোগ করা

MongoDB-এ নেস্টেড অ্যারেতে নতুন ডকুমেন্ট যোগ করতে $push অপারেটর পজিশনাল $ অপারেটরের সাথে ব্যবহার করা হয়। এটি বাহ্যিক অ্যারেতে মিলে যাওয়া এলিমেন্টের নেস্টেড অ্যারেতে ডেটা পুশ করে।

নমুনা কালেকশন তৈরি

> db.nestedArrayDemo.insertOne({
  "EmployeeName": "Larry",
  "EmployeeSalary": 9000,
  "EmployeeDetails": [
    {
      "EmployeeDOB": new Date('1990-01-21'),
      "EmployeeDepartment": "ComputerScience",
      "EmployeeProject": [
        { "Technology": "C", "Duration": 6 },
        { "Technology": "Java", "Duration": 7 }
      ]
    }
  ]
});
{ "acknowledged": true, "insertedId": ObjectId("5c6d73090c3d5054b766a76e") }

ডকুমেন্ট প্রদর্শন

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

আউটপুট:

{
  "_id": ObjectId("5c6d73090c3d5054b766a76e"),
  "EmployeeName": "Larry",
  "EmployeeSalary": 9000,
  "EmployeeDetails": [
    {
      "EmployeeDOB": ISODate("1990-01-21T00:00:00Z"),
      "EmployeeDepartment": "ComputerScience",
      "EmployeeProject": [
        { "Technology": "C", "Duration": 6 },
        { "Technology": "Java", "Duration": 7 }
      ]
    }
  ]
}

নেস্টেড অ্যারেতে $push দিয়ে নতুন ডকুমেন্ট যোগ

EmployeeDepartment: "ComputerScience" মিলে যাওয়া ডকুমেন্টের EmployeeProject অ্যারেতে নতুন প্রজেক্ট যোগ করা:

> db.nestedArrayDemo.update(
  { 
    "_id": ObjectId("5c6d73090c3d5054b766a76e"),
    "EmployeeDetails.EmployeeDepartment": "ComputerScience"
  },
  { 
    $push: { 
      "EmployeeDetails.$.EmployeeProject": { 
        "Technology": "Python", 
        "Duration": 4 
      } 
    } 
  }
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })

আপডেটের পর ডকুমেন্ট যাচাই

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

আউটপুট:

{
  "_id": ObjectId("5c6d73090c3d5054b766a76e"),
  "EmployeeName": "Larry",
  "EmployeeSalary": 9000,
  "EmployeeDetails": [
    {
      "EmployeeDOB": ISODate("1990-01-21T00:00:00Z"),
      "EmployeeDepartment": "ComputerScience",
      "EmployeeProject": [
        { "Technology": "C", "Duration": 6 },
        { "Technology": "Java", "Duration": 7 },
        { "Technology": "Python", "Duration": 4 }
      ]
    }
  ]
}

ব্যাখ্যা: কোয়েরিতে EmployeeDetails.$.EmployeeProject এ $ পজিশনাল অপারেটর বাহ্যিক EmployeeDetails অ্যারেতে EmployeeDepartment: "ComputerScience" মিলে যাওয়া এলিমেন্টকে নির্দেশ করে। তারপর তার নেস্টেড EmployeeProject অ্যারেতে নতুন অবজেক্ট পুশ করা হয়েছে।

  1. MongoDB-এ নেস্টেড অ্যারে অ্যাগ্রিগেট করার পদ্ধতি

  2. MongoDB-এ নেস্টেড অ্যারে সর্ট করা

  3. MongoDB-এ updateOne এবং $push ব্যবহার করে নেস্টেড অ্যারে আপডেট করা

  4. MongoDB-এ নেস্টেড অ্যারে ফিল্টার করার কন্ডিশন সেট করা