এক লাইনে সাবডকুমেন্ট প্রদর্শন করতে, 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