MongoDB-এ একটি ডকুমেন্টের নির্দিষ্ট ফিল্ড এক্সেস বা রিটার্ন করার জন্য find() মেথডের দ্বিতীয় আর্গুমেন্ট হিসেবে প্রজেকশন (projection) অবজেক্ট ব্যবহার করা হয়। ফিল্ডের মান 1 দিলে সেটি রিটার্ন হবে, 0 দিলে বাদ যাবে।
উদাহরণ: কালেকশন ও ডেটা তৈরি
> db.demo565.insertOne({ id: 101, Name: "David", "CountryName": "US" });
{ "acknowledged" : true, "insertedId" : ObjectId("5e90896739cfeaaf0b97b577") }
> db.demo565.insertOne({ id: 102, Name: "Carol", "CountryName": "UK" });
{ "acknowledged" : true, "insertedId" : ObjectId("5e90896839cfeaaf0b97b578") }
> db.demo565.insertOne({ id: 103, Name: "Sam", "CountryName": "AUS" });
{ "acknowledged" : true, "insertedId" : ObjectId("5e90896839cfeaaf0b97b579") }
সব ডকুমেন্ট দেখানো
> db.demo565.find();
আউটপুট:
{ "_id" : ObjectId("5e90896739cfeaaf0b97b577"), "id" : 101, "Name" : "David", "CountryName" : "US" }
{ "_id" : ObjectId("5e90896839cfeaaf0b97b578"), "id" : 102, "Name" : "Carol", "CountryName" : "UK" }
{ "_id" : ObjectId("5e90896839cfeaaf0b97b579"), "id" : 103, "Name" : "Sam", "CountryName" : "AUS" }
নির্দিষ্ট ফিল্ড এক্সেস করা (Name ফিল্ড মাত্র)
> db.demo565.find({ "Name": "Carol", "CountryName": "UK" }, { Name: 1 });
আউটপুট
{ "_id" : ObjectId("5e90896839cfeaaf0b97b578"), "Name" : "Carol" }
মূল পয়েন্টসমূহ
find(query, projection)— প্রথম আর্গুমেন্ট কুয়েরি (ফিল্টার), দ্বিতীয় আর্গুমেন্ট প্রজেকশন (কোন ফিল্ড রিটার্ন হবে)।{ Name: 1 }— শুধুNameফিল্ড রিটার্ন করবে (সহ_idডিফল্টে)۔{ Name: 1, _id: 0 }—_idবাদ দিয়ে শুধুNameরিটার্ন করবে।- নেস্টেড ফিল্ড এক্সেস:
{ "address.city": 1 }। findOne()শুধু প্রথম ম্যাচ করা ডকুমেন্ট রিটার্ন করে।