আনওয়াইন্ড করতে, $unwind ব্যবহার করুন। $unwind প্রতিটি উপাদানের জন্য একটি নথি আউটপুট করতে ইনপুট নথি থেকে একটি অ্যারে ক্ষেত্র বিনির্মাণ করে৷
আসুন আমরা নথি সহ একটি সংগ্রহ তৈরি করি -
> db.demo515.insertOne(
... {
... "details1": [
... "4700100004"
... ],
... "details2": [
... "Not Given"
... ],
... "Value1": [
... "56",
... "45",
... "35",
... ],
... "Value2": [
... "35",
... "45",
... "56",
... ]}
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e889e51987b6e0e9d18f590")
} Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo515.find();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : ObjectId("5e889e51987b6e0e9d18f590"), "details1" : [ "4700100004" ], "details2" : [
"Not Given" ], "Value1" : [ "56", "45", "35" ], "Value2" : [ "35", "45", "56" ] } দুটি অ্যারে −
আনওয়াইন্ড করার জন্য নিম্নলিখিত প্রশ্নটি রয়েছে> db.demo515.aggregate([
... { $unwind: { path: "$Value1", includeArrayIndex : "index1" } },
... { $unwind: { path: "$Value2", includeArrayIndex : "index2" } },
... { $project: {
... _id : 1,
... details1: 1,
... details2: 1,
... Value1: 1,
... Value2: 1,
... valid: { $eq: ["$index1", "$index2"] } }
... },
... { $match: { valid: true } }
... ]); এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : ObjectId("5e889e51987b6e0e9d18f590"), "details1" : [ "4700100004" ], "details2" : [
"Not Given" ], "Value1" : "56", "Value2" : "35", "valid" : true }
{ "_id" : ObjectId("5e889e51987b6e0e9d18f590"), "details1" : [ "4700100004" ], "details2" : [
"Not Given" ], "Value1" : "45", "Value2" : "45", "valid" : true }
{ "_id" : ObjectId("5e889e51987b6e0e9d18f590"), "details1" : [ "4700100004" ], "details2" : [
"Not Given" ], "Value1" : "35", "Value2" : "56", "valid" : true }