MongoDB-এ একাধিক _id দিয়ে ডকুমেন্ট খোঁজার জন্য $in অপারেটর ব্যবহার করা হয়।
সিনট্যাক্স
db.yourCollectionName.find({_id:{$in:[yourValue1,yourValue2,yourValue3,...N]}});
ডেমো কলেকশন তৈরি (কাস্টম _id)
> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":10,"CustomerName":"John"});
{ "acknowledged" : true, "insertedId" : 10 }
> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":14,"CustomerName":"Chris"});
{ "acknowledged" : true, "insertedId" : 14 }
> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":20,"CustomerName":"Robert"});
{ "acknowledged" : true, "insertedId" : 20 }
> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":25,"CustomerName":"Sam"});
{ "acknowledged" : true, "insertedId" : 25 }
> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":30,"CustomerName":"Bob"});
{ "acknowledged" : true, "insertedId" : 30 }
> db.retrieveMultipleDocsByIdDemo.insertOne({"_id":34,"CustomerName":"Carol"});
{ "acknowledged" : true, "insertedId" : 34 }
সকল ডকুমেন্ট দেখা
> db.retrieveMultipleDocsByIdDemo.find().pretty();
আউটপুট
নির্দিষ্ট আইডিগুলো খোঁজা (10, 20, 30)
> db.retrieveMultipleDocsByIdDemo.find({_id:{$in:[10,20,30]}});আউটপুট
ObjectId এর জন্য উদাহরণ
db.collection.find({ _id: { $in: [ ObjectId("..."), ObjectId("...") ] } })সুবিধা
- একক কোয়েরিতে একাধিক ডকুমেন্ট ফেচ করা যায়
- N+1 কোয়েরি সমস্যা এড়ানো যায়
- অর্ডার গ্যারান্টি নেই - সোর্ট করতে
sort()ব্যবহার করুন