এক লাইনে সাবডকুমেন্ট প্রদর্শন করতে, aggregate() সহ $unwind ব্যবহার করুন। আসুন নথি-
সহ একটি সংগ্রহ তৈরি করি> db.demo183.insertOne( ... { ... "_id": "110", ... "DueDate": ISODate("2020-02-04T01:10:42.000Z"), ... "ProductDetails": [ ... { ... "ProductName": "Product-1", ... "isAvailable": true ... }, ... { ... "ProductName": "Product-2", ... "isAvailable": false ... } ... ] ... } ...); { "acknowledged" : true, "insertedId" : "110" }
Find() পদ্ধতি -
এর সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন> db.demo183.find().pretty();
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে{ "_id" : "110", "DueDate" : ISODate("2020-02-04T01:10:42Z"), "ProductDetails" : [ { "ProductName" : "Product-1", "isAvailable" : true }, { "ProductName" : "Product-2", "isAvailable" : false } ] }
কিভাবে সাবডকুমেন্ট জিজ্ঞাসা করতে হয় এবং এক লাইনে প্রিন্ট করতে হয় −
> var productdata = function (d) { ... print(d.DueDate+", " + d.ProductDetails.ProductName + ", " + d.ProductDetails.isAvailable); ... } > var iterator = db.demo183.aggregate([ ... {$match: {_id: "110"}}, ... {$unwind: '$ProductDetails'} ... ]); > iterator.forEach(productdata );
এটি নিম্নলিখিত আউটপুট −
তৈরি করবেTue Feb 04 2020 06:40:42 GMT+0530 (India Standard Time), Product-1, true Tue Feb 04 2020 06:40:42 GMT+0530 (India Standard Time), Product-2, false