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

MongoDB-এ নির্দিষ্ট ফিল্ড ভ্যালু রিটার্ন করা ($in অপারেটর)

MongoDB-এ একটি ফিল্ডের নির্দিষ্ট একাধিক ভ্যালু মিলে যাওয়া ডকুমেন্ট থেকে নির্দিষ্ট ফিল্ডগুলো রিটার্ন করতে $in অপারেটর এবং প্রজেকশন ব্যবহার করা হয়।

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

> db.indexesDemo.createIndex({ "StudentFirstName": 1 });
{ "createdCollectionAutomatically": true, "numIndexesBefore": 1, "numIndexesAfter": 2, "ok": 1 }

> db.indexesDemo.insertOne({ "StudentFirstName": "John", "StudentLastName": "Smith" });
{ "acknowledged": true, "insertedId": ObjectId("5e06de4d25ddae1f53b621dd") }

> db.indexesDemo.insertOne({ "StudentFirstName": "Chris", "StudentLastName": "Brown" });
{ "acknowledged": true, "insertedId": ObjectId("5e06de5825ddae1f53b621de") }

> db.indexesDemo.insertOne({ "StudentFirstName": "John", "StudentLastName": "Doe" });
{ "acknowledged": true, "insertedId": ObjectId("5e06de6725ddae1f53b621df") }

> db.indexesDemo.insertOne({ "StudentFirstName": "David", "StudentLastName": "Miller" });
{ "acknowledged": true, "insertedId": ObjectId("5e06de7225ddae1f53b621e0") }

সমস্ত ডকুমেন্ট দেখানো

> db.indexesDemo.find();

আউটপুট:

{ "_id": ObjectId("5e06de4d25ddae1f53b621dd"), "StudentFirstName": "John", "StudentLastName": "Smith" }
{ "_id": ObjectId("5e06de5825ddae1f53b621de"), "StudentFirstName": "Chris", "StudentLastName": "Brown" }
{ "_id": ObjectId("5e06de6725ddae1f53b621df"), "StudentFirstName": "John", "StudentLastName": "Doe" }
{ "_id": ObjectId("5e06de7225ddae1f53b621e0"), "StudentFirstName": "David", "StudentLastName": "Miller" }

$in দিয়ে নির্দিষ্ট নামের ফিল্ড রিটার্ন করা

> db.indexesDemo.find(
  { StudentFirstName: { $in: [ "John", "David" ] } },
  { _id: 0, StudentLastName: 0 }
);

ফলাফল

{ "StudentFirstName": "David" }
{ "StudentFirstName": "John" }
{ "StudentFirstName": "John" }

ব্যাখ্যা:

  • $in: ["John", "David"] - StudentFirstName "John" বা "David" যেকোনো হলে ম্যাচ।
  • { _id: 0, StudentLastName: 0 } - _id এবং StudentLastName এক্সক্লুড। শুধু StudentFirstName রিটার্ন।
  • John (২বার) এবং David (১বার) - মোট ৩টি ডকুমেন্ট।

$in এর বৈশিষ্ট্য

  • অ্যারে ভ্যালুতে যেকোনো একটি ম্যাচ করলে true রিটার্ন করে।
  • অ্যারে ফিল্ডের অভ্যন্তরে মান খুঁজতেও ব্যবহার হয়: { tags: { $in: ["mongodb", "database"] } }।
  • ইন্ডেক্স ব্যবহার করতে পারে (সরাসরি ইকুয়ালিটি ম্যাচের মতো)।

বিকল্প: $or অপারেটর

db.indexesDemo.find(
  { $or: [ { StudentFirstName: "John" }, { StudentFirstName: "David" } ] },
  { _id: 0, StudentLastName: 0 }
);

$in আরও সংক্ষিপ্ত এবং পঠনীয়।

  1. MongoDB-তে $in অপারেটর ব্যবহার করে নির্দিষ্ট একাধিক ডকুমেন্ট বের করা

  2. MongoDB-এ একটি ফিল্ডের সব মান আপডেট করা নির্দিষ্ট স্ট্রিং দিয়ে

  3. MongoDB-এ ডকুমেন্ট থেকে নির্দিষ্ট ভ্যালু ফিল্টার করা ($filter)

  4. MongoDB-এ অ্যারে কোয়েরি করে নির্দিষ্ট ভ্যালু ফেচ করা