MongoDB-এ find()-এর দ্বিতীয় আর্গুমেন্ট (প্রজেকশন) দিয়ে অ্যারে অবজেক্টের নির্দিষ্ট ফিল্ডগুলো মাত্র রিটার্ন করা যায়।
নমুনা ডেটা তৈরি
> db.projectionAnElementDemo.insertOne({
"CustomerId": 100,
"CustomerDetails": [
{"CustomerName": "Chris", "CustomerCountryName": "US"},
{"CustomerName": "Robert", "CustomerCountryName": "UK"}
]
});
{ "acknowledged": true, "insertedId": ObjectId("5cd31c56b64f4b851c3a13ea") }
সব ডকুমেন্ট দেখুন
> db.projectionAnElementDemo.find().pretty();আউটপুট:
{
"_id": ObjectId("5cd31c56b64f4b851c3a13ea"),
"CustomerId": 100,
"CustomerDetails": [
{"CustomerName": "Chris", "CustomerCountryName": "US"},
{"CustomerName": "Robert", "CustomerCountryName": "UK"}
]
}
প্রজেকশন: শুধু CustomerId এবং CustomerDetails.CustomerName দেখানো
> db.projectionAnElementDemo.find({}, {CustomerId: 1, "CustomerDetails.CustomerName": 1}).pretty();
আউটপুট (CountryName বাদ পড়েছে):
{
"_id": ObjectId("5cd31c56b64f4b851c3a13ea"),
"CustomerId": 100,
"CustomerDetails": [
{"CustomerName": "Chris"},
{"CustomerName": "Robert"}
]
}
ব্যাখ্যা: প্রজেকশনে 1 মানে ইনক্লুড, 0 মানে এক্সক্লুড। _id ডিফল্টলায় আসে, বাদ দিতে _id: 0 দিন। অ্যারে অবজেক্টের ফিল্ড প্রজেক্ট করতে ডট নোটেশন ব্যবহার করুন।