MongoDB-তে $unwind অপারেটর প্রতিটি অ্যারের জন্য একই, এটি ম্যাপিং নথি প্রদান করে। এখানে MongoDB-তে $unwind অপারেটরের ডেমো।
ধারণাটি বুঝতে, আসুন ডকুমেন্টের সাথে একটি সংগ্রহ তৈরি করি। একটি নথির সাথে একটি সংগ্রহ তৈরি করার প্রশ্নটি নিম্নরূপ -
> db.unwindOperatorDemo.insertOne({"StudentName":"Larry","StudentAge":23,"StudentSubje
ct":["C","C++","Java","MongoDB"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c7ef5f3559dd2396bcfbfc8")
} Find() পদ্ধতির সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -
> db.unwindOperatorDemo.find().pretty();
নিচের আউটপুট −
{
"_id" : ObjectId("5c7ef5f3559dd2396bcfbfc8"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentSubject" : [
"C",
"C++",
"Java",
"MongoDB"
]
} এখানে $unwind অপারেটরের ডেমো আছে। প্রশ্নটি নিম্নরূপ -
> db.unwindOperatorDemo.aggregate(
... { $project : {
... StudentName : 1 ,
... StudentAge: 1 ,
... StudentSubject : 1
... }},
... { $unwind : "$StudentSubject" }
... ).pretty(); নিচের আউটপুট −
{
"_id" : ObjectId("5c7ef5f3559dd2396bcfbfc8"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentSubject" : "C"
}
{
"_id" : ObjectId("5c7ef5f3559dd2396bcfbfc8"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentSubject" : "C++"
}
{
"_id" : ObjectId("5c7ef5f3559dd2396bcfbfc8"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentSubject" : "Java"
}
{
"_id" : ObjectId("5c7ef5f3559dd2396bcfbfc8"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentSubject" : "MongoDB"
} নমুনা আউটপুট দেখুন, "ছাত্রের নাম" এবং "স্টুডেন্টএজ" ক্ষেত্রগুলি প্রতিটি "স্টুডেন্ট সাবজেক্ট" অ্যারে ফিল্ডে ম্যাপিং করছে৷