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 আরও সংক্ষিপ্ত এবং পঠনীয়।