MongoDB-তে অ্যারেতে থাকা ডকুমেন্ট থেকে নির্দিষ্ট ফিল্ড প্রজেক্ট করা
MongoDB-তে অ্যারেতে থাকা ডকুমেন্ট থেকে নির্দিষ্ট ফিল্ড প্রজেক্ট করতে আপনি পজিশনাল ($) অপারেটর ব্যবহার করতে পারেন।
ধাপ ১: ডকুমেন্টসহ একটি কালেকশন তৈরি করুন
> db.projectSpecificFieldDemo.insertOne(
{
"UniqueId": 101,
"StudentDetails" : [
{"StudentName" : "Chris", "StudentCountryName" : "US"},
{"StudentName" : "Robert", "StudentCountryName" : "UK"}
]
}
);
{
"acknowledged" : true,
"insertedId" : ObjectId("5ca27aeb6304881c5ce84ba2")
}
> db.projectSpecificFieldDemo.insertOne(
{
"UniqueId": 102,
"StudentDetails" : [
{"StudentName" : "Robert", "StudentCountryName" : "UK"},
{"StudentName" : "David", "StudentCountryName" : "AUS"}
]
}
);
{
"acknowledged" : true,
"insertedId" : ObjectId("5ca27b106304881c5ce84ba3")
}
ধাপ ২: find() মেথড ব্যবহার করে সব ডকুমেন্ট প্রদর্শন করুন
> db.projectSpecificFieldDemo.find().pretty();
আউটপুট:
{
"_id" : ObjectId("5ca27aeb6304881c5ce84ba2"),
"UniqueId" : 101,
"StudentDetails" : [
{
"StudentName" : "Chris",
"StudentCountryName" : "US"
},
{
"StudentName" : "Robert",
"StudentCountryName" : "UK"
}
]
}
{
"_id" : ObjectId("5ca27b106304881c5ce84ba3"),
"UniqueId" : 102,
"StudentDetails" : [
{
"StudentName" : "Robert",
"StudentCountryName" : "UK"
},
{
"StudentName" : "David",
"StudentCountryName" : "AUS"
}
]
}
ধাপ ৩: অ্যারেতে থাকা ডকুমেন্ট থেকে নির্দিষ্ট ফিল্ড প্রজেক্ট করার কোয়েরি
> var myDocument = { UniqueId : 101, 'StudentDetails.StudentName' : 'Chris' };
> var myProjection = { 'StudentDetails.$': 1 };
> db.projectSpecificFieldDemo.find(myDocument, myProjection).pretty();
ফলাফল:
{
"_id" : ObjectId("5ca27aeb6304881c5ce84ba2"),
"StudentDetails" : [
{
"StudentName" : "Chris",
"StudentCountryName" : "US"
}
]
}
ব্যাখ্যা: এখানে $ পজিশনাল অপারেটরটি কোয়েরি শর্ত পূরণকারী প্রথম অ্যারে এলিমেন্টকে প্রজেক্ট করে। myDocument ভেরিয়েবলে UniqueId: 101 এবং StudentDetails.StudentName: 'Chris' শর্ত দেওয়া হয়েছে, ফলে UniqueId 101 वाले ডকুমেন্টের StudentDetails অ্যারেতে Chris নামে প্রথম মিল পাওয়া এলিমেন্টটিই রিটার্ন হয়েছে।