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

MongoDB-এ অ্যারের নির্দিষ্ট সূচকের মান দিয়ে ডকুমেন্ট খোঁজা

MongoDB-এ অ্যারের নির্দিষ্ট পজিশনের (ইন্ডেক্স) মান দিয়ে ডকুমেন্ট ফিল্টার করতে ডট (.) নোটেশন ব্যবহার করা হয়, যেমন PlayerScore.0 প্রথম উপাদানের জন্য।

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

> db.arrayStartsWithElementDemo.insertOne({"PlayerName":"Chris","PlayerScore":[780,9000,456,789,987]});
{ "acknowledged": true, "insertedId": ObjectId("5cd29fed345990cee87fd889") }
> db.arrayStartsWithElementDemo.insertOne({"PlayerName":"Robert","PlayerScore":[890,670,890,54646,42424]});
{ "acknowledged": true, "insertedId": ObjectId("5cd2a00c345990cee87fd88a") }
> db.arrayStartsWithElementDemo.insertOne({"PlayerName":"David","PlayerScore":[909090,896555,3344433,78900]});
{ "acknowledged": true, "insertedId": ObjectId("5cd2a025345990cee87fd88b") }

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

> db.arrayStartsWithElementDemo.find().pretty();
আউটপুট:
{
  "_id": ObjectId("5cd29fed345990cee87fd889"),
  "PlayerName": "Chris",
  "PlayerScore": [780, 9000, 456, 789, 987]
}
{
  "_id": ObjectId("5cd2a00c345990cee87fd88a"),
  "PlayerName": "Robert",
  "PlayerScore": [890, 670, 890, 54646, 42424]
}
{
  "_id": ObjectId("5cd2a025345990cee87fd88b"),
  "PlayerName": "David",
  "PlayerScore": [909090, 896555, 3344433, 78900]
}

প্রথম দুটি উপাদান ৮৯০ এবং ৬৭০ হওয়া ডকুমেন্ট খোঁজা

> db.arrayStartsWithElementDemo.find({"PlayerScore.0": 890, "PlayerScore.1": 670}).pretty();
আউটপুট (শুধু Robert-এর ডকুমেন্ট):
{
  "_id": ObjectId("5cd2a00c345990cee87fd88a"),
  "PlayerName": "Robert",
  "PlayerScore": [890, 670, 890, 54646, 42424]
}

ব্যাখ্যা: PlayerScore.0 মানে অ্যারের ০ নম্বর ইন্ডেক্স (প্রথম উপাদান), PlayerScore.1 মানে দ্বিতীয় উপাদান। এই প্যাটার্ন দিয়ে অ্যারের শুরুয় নির্দিষ্ট সিকোয়েন্স খোঁজা যায়।

  1. MongoDB-তে অ্যারে ফিল্ড থেকে নির্দিষ্ট নামের তালিকা পাওয়া

  2. MongoDB-তে এম্বেডেড অ্যারে থেকে নির্দিষ্ট এলিমেন্ট পাওয়া

  3. MongoDB-তে অ্যাগ্রিগেশন দিয়ে অ্যারে এলিমেন্টের গড় (Average) বের করা ($avg)

  4. MongoDB ডকুমেন্টের নির্দিষ্ট ফিল্ড থেকে অ্যারে এলিমেন্ট কাউন্ট করা