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

MongoDB-এ অবজেক্টের অ্যারে (array of objects) فيه সার্চ করার পদ্ধতি ($elemMatch)

MongoDB-এ অবজেক্টের অ্যারেতে একাধিক শর্ত পূরণকারী এলিমেন্ট খুঁজতে $elemMatch অপারেটর ব্যবহার করা হয়।

উদাহরণ ডেটা (EmployeeDetails অবজেক্টের অ্যারে):

> db.searchArrayDemo.insertOne({
    "EmployeeFirstName": "Adam",
    "EmployeeLastName": "Smith",
    "EmployeeDateOfBirth": ISODate("1992-01-31T13:45:10Z"),
    "EmployeeSkills": ["Spring and Hibernate Framework", "Machine Learning"],
    "EmployeeDetails": [
        {"EmployeePerformanceArea": "Java", "Year": 2001},
        {"EmployeePerformanceArea": "Python", "Year": 2005}
    ]
});
> db.searchArrayDemo.insertOne({
    "EmployeeFirstName": "Carol",
    "EmployeeLastName": "Taylor",
    "EmployeeDateOfBirth": ISODate("1993-04-21T11:10:20Z"),
    "EmployeeSkills": ["C++", "Cloud Computing"],
    "EmployeeDetails": [
        {"EmployeePerformanceArea": "C++", "Year": 1998},
        {"EmployeePerformanceArea": "C++ Game Developer", "Year": 2007}
    ]
});

কেস ১: EmployeePerformanceArea "C++" এবং Year 1998 মিলে যাওয়া এলিমেন্ট খুঁজা

> db.searchArrayDemo.find({EmployeeDetails: {$elemMatch: {EmployeePerformanceArea: "C++", Year: 1998}}}).pretty();

ফলাফল: Carol-এর ডকুমেন্ট ফেরত আসবে।

কেস ২: অস্তিত্বহীন কম্বিনেশন (C, 1996) খুঁজা

> db.searchArrayDemo.find({EmployeeDetails: {$elemMatch: {EmployeePerformanceArea: "C", Year: 1996}}}).pretty();

ফলাফল: কোনো ডকুমেন্ট ফেরত আসবে না।

$elemMatch নিশ্চিত করে যে একই অবজেক্টের ভেতর দুটি শর্ত পূরণ হচ্ছে।

  1. MongoDB-তে অ্যারে পুশ করার পদ্ধতি

  2. MongoDB-এ অ্যারেতে এলিমেন্ট যুক্ত করার পদ্ধতি

  3. MongoDB-এ অবজেক্টের ভেতরের অ্যারেতে নতুন আইটেম যোগ করা

  4. MongoDB-এ অবজেক্ট অ্যারে থেকে নির্দিষ্ট আইটেম বের করা