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" }
নমুনা আউটপুট দেখুন, "ছাত্রের নাম" এবং "স্টুডেন্টএজ" ক্ষেত্রগুলি প্রতিটি "স্টুডেন্ট সাবজেক্ট" অ্যারে ফিল্ডে ম্যাপিং করছে৷