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

MongoDB-এ অ্যারে অবজেক্টে দুই নির্দিষ্ট আইডি থাকা ডকুমেন্ট খোঁজা ($and)

MongoDB-এ অ্যারে অবজেক্টের মধ্যে একসাথে দুটি নির্দিষ্ট আইডি (যেমন ১০২ এবং ১০৩) থাকা ডকুমেন্ট খোঁজার জন্য $and অপারেটর ব্যবহার করা হয়।

নমুনা ডেটা তৈরি (PlayerDetails অ্যারে)

> db.twoSpecificIdsDemo.insertOne({
  PlayerId: 1,
  "PlayerDetails": [
    {"id": 100, "PlayerName": "Chris"},
    {"id": 101, "PlayerName": "Sam"},
    {"id": 102, "PlayerName": "Robert"},
    {"id": 103, "PlayerName": "Carol"}
  ]
});
{ "acknowledged": true, "insertedId": ObjectId("5cd3e130edc6604c74817ce4") }

> db.twoSpecificIdsDemo.insertOne({
  PlayerId: 1,
  "PlayerDetails": [
    {"id": 104, "PlayerName": "Mike"},
    {"id": 105, "PlayerName": "Bob"},
    {"id": 102, "PlayerName": "Ramit"},
    {"id": 106, "PlayerName": "David"}
  ]
});
{ "acknowledged": true, "insertedId": ObjectId("5cd3e167edc6604c74817ce5") }

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

> db.twoSpecificIdsDemo.find().pretty();
আউটপুট:
{
  "_id": ObjectId("5cd3e130edc6604c74817ce4"),
  "PlayerId": 1,
  "PlayerDetails": [
    {"id": 100, "PlayerName": "Chris"},
    {"id": 101, "PlayerName": "Sam"},
    {"id": 102, "PlayerName": "Robert"},
    {"id": 103, "PlayerName": "Carol"}
  ]
}
{
  "_id": ObjectId("5cd3e167edc6604c74817ce5"),
  "PlayerId": 1,
  "PlayerDetails": [
    {"id": 104, "PlayerName": "Mike"},
    {"id": 105, "PlayerName": "Bob"},
    {"id": 102, "PlayerName": "Ramit"},
    {"id": 106, "PlayerName": "David"}
  ]
}

$and দিয়ে id 102 এবং 103 উভয়ই থাকা ডকুমেন্ট খোঁজা

> db.twoSpecificIdsDemo.find({
  $and: [
    {"PlayerDetails.id": 102},
    {"PlayerDetails.id": 103}
  ]
}).pretty();
আউটপুট (শুধু প্রথম ডকুমেন্টে ১০২ এবং ১০৩ উভয় আছে):
{
  "_id": ObjectId("5cd3e130edc6604c74817ce4"),
  "PlayerId": 1,
  "PlayerDetails": [
    {"id": 100, "PlayerName": "Chris"},
    {"id": 101, "PlayerName": "Sam"},
    {"id": 102, "PlayerName": "Robert"},
    {"id": 103, "PlayerName": "Carol"}
  ]
}

ব্যাখ্যা: ডট নোটেশন PlayerDetails.id দিয়ে অ্যারেতে যেকোনো এলিমেন্টে=id মэтচ করা হয়। $and দিয়ে দুটি শর্ত একসাথে মেটাতে হয়। দ্বিতীয় ডকুমেন্টে ১০৩ নেই, তাই বাদ পড়েছে।

  1. MongoDB-তে অবজেক্টের অ্যারেতে _id দিয়ে খুঁজে বের করা

  2. MongoDB-এ অ্যারেতে ম্যাচ করা অবজেক্টের সংখ্যা অনুযায়ী ডকুমেন্ট খোঁজা ($where / Aggregation)

  3. MongoDB-তে নির্দিষ্ট মান থেকে বড় বা সমান ভ্যালু খোঁজা ($gte)

  4. MongoDB-এ অবজেক্টের অ্যারে থেকে নেস্টেড ডকুমেন্ট কোয়েরি করা ($elemMatch)