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

MongoDB-এ ডট নোটেশন ব্যবহার করে ইনার ক্লাস/সাব-ডকুমেন্টে সার্চ করা

MongoDB-এ নেস্টেড অবজেক্ট (সাব-ডকুমেন্ট) এর ফিল্ডে কোয়েরি করতে ডট (.) নোটেশন ব্যবহার করা হয়।

নমুনা ডেটা তৈরি

> db.searchInInnerDemo.insertOne(
  {
    "StudentFirstName": "Robert",
    "StudentTechnicalDetails": {
      "StudentBackEndTechnology": "MongoDB",
      "StudentLanguage": "Java"
    }
  }
);
{ "acknowledged": true, "insertedId": ObjectId("5cd2dd89b64f4b851c3a13d2") }

> db.searchInInnerDemo.insertOne(
  {
    "StudentFirstName": "David",
    "StudentTechnicalDetails": {
      "StudentBackEndTechnology": "MySQL",
      "StudentLanguage": "PHP"
    }
  }
);
{ "acknowledged": true, "insertedId": ObjectId("5cd2dda3b64f4b851c3a13d3") }

সব ডকুমেন্ট দেখুন

> db.searchInInnerDemo.find().pretty();
আউটপুট:
{
  "_id": ObjectId("5cd2dd89b64f4b851c3a13d2"),
  "StudentFirstName": "Robert",
  "StudentTechnicalDetails": {
    "StudentBackEndTechnology": "MongoDB",
    "StudentLanguage": "Java"
  }
}
{
  "_id": ObjectId("5cd2dda3b64f4b851c3a13d3"),
  "StudentFirstName": "David",
  "StudentTechnicalDetails": {
    "StudentBackEndTechnology": "MySQL",
    "StudentLanguage": "PHP"
  }
}

কেস ১: শুধু একটি প্রপার্টি মэтচ করা (BackEndTechnology = MongoDB)

> db.searchInInnerDemo.find({"StudentTechnicalDetails.StudentBackEndTechnology":"MongoDB"}).pretty();
আউটপুট:
{
  "_id": ObjectId("5cd2dd89b64f4b851c3a13d2"),
  "StudentFirstName": "Robert",
  "StudentTechnicalDetails": {
    "StudentBackEndTechnology": "MongoDB",
    "StudentLanguage": "Java"
  }
}

কেস ২: পুরো সাব-ডকুমেন্ট মэтচ করা (BackEndTechnology = MongoDB AND Language = Java)

> db.searchInInnerDemo.find({"StudentTechnicalDetails":{"StudentBackEndTechnology":"MongoDB","StudentLanguage":"Java"}}).pretty();
আউটপুট:
{
  "_id": ObjectId("5cd2dd89b64f4b851c3a13d2"),
  "StudentFirstName": "Robert",
  "StudentTechnicalDetails": {
    "StudentBackEndTechnology": "MongoDB",
    "StudentLanguage": "Java"
  }
}

টিপস: কেস ১-এ শুধু একটি ফিল্ড মэтচ করলে বাকি ফিল্ড যেকোনো মান হতে পারে। কেস ২-এ পুরো অবজেক্ট স্ট্রিক্টলি মэтচ করতে হয় (অর্ডার বাদে)।

  1. MongoDB-তে ডকুমেন্টে এলিমেন্ট অস্তিত্ব যাচাই

  2. MongoDB-এ _id দিয়ে ডকুমেন্ট ডিলিট করা

  3. MongoDB-এ সাব-ডকুমেন্টসে ফাইন্ড কোয়েরি চালানো

  4. MongoDB-এ ডকুমেন্টের ফিল্ড এক্সেস করা (find() মেথড)