MongoDB-এ নির্দিষ্ট ObjectId দিয়ে ডকুমেন্ট খুঁজে বের করতে find() এ ObjectId কনস্ট্রাক্টর ব্যবহার করা হয়।
নমুনা ডেটা তৈরি করা
findByObjectIdDemo কালেকশনে তিনটি ডকুমেন্ট ইনসার্ট করি।
> db.findByObjectIdDemo.insertOne({"ClientName":"Larry","ClientAge":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd68cd657806ebf1256f11a") }
> db.findByObjectIdDemo.insertOne({"ClientName":"Chris","ClientAge":26});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd68cdc57806ebf1256f11b") }
> db.findByObjectIdDemo.insertOne({"ClientName":"David","ClientAge":38,"isMarried":true});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd68cf657806ebf1256f11c") }
সকল ডকুমেন্ট দেখানো
> db.findByObjectIdDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd68cd657806ebf1256f11a"), "ClientName" : "Larry", "ClientAge" : 23 }
{ "_id" : ObjectId("5cd68cdc57806ebf1256f11b"), "ClientName" : "Chris", "ClientAge" : 26 }
{ "_id" : ObjectId("5cd68cf657806ebf1256f11c"), "ClientName" : "David", "ClientAge" : 38, "isMarried" : true }
ObjectId দিয়ে ডকুমেন্ট খুঁজা
new ObjectId() দিয়ে স্ট্রিং থেকে ObjectId বানিয়ে find() এবং toArray() ব্যবহার করি:
> db.findByObjectIdDemo.find({_id: new ObjectId("5cd68cf657806ebf1256f11c")}).toArray(function(err, myDocument) {
console.log(myDocument);
});
আউটপুট:
[
{
"_id" : ObjectId("5cd68cf657806ebf1256f11c"),
"ClientName" : "David",
"ClientAge" : 38,
"isMarried" : true
}
]
সरल পদ্ধতি: শুধু findOne() ব্যবহার করলেও হয়: db.findByObjectIdDemo.findOne({_id: ObjectId("...")})। toArray() অ্যারে রিটার্ন করে, findOne() সরাসরি ডকুমেন্ট রিটার্ন করে।