इसके लिए MongoDB में $project का इस्तेमाल करें। उसके भीतर, $filter का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo457.insertOne(... {... _id:101,... विवरण:[... {ProductName:"Product-1", ProductPrice:90},... { ProductName:"उत्पाद -2", उत्पाद मूल्य:190}...]...}...);{"स्वीकृत" :सत्य, "insertId" :101 }>> db.demo457.insertOne(... {.. _id:102,... विवरण:[... {उत्पाद का नाम:"उत्पाद -3", उत्पाद मूल्य:150},... {उत्पाद का नाम:"उत्पाद-4", उत्पाद मूल्य:360}... ].. . }... );{ "स्वीकृत" :सच, "insertId" :102 }
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo457.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" :101, "विवरण" :[ { "ProductName" :"Product-1", "ProductPrice" :90 }, { "ProductName":"Product-2", "ProductPrice" :190 } ] }{ "_id" :102, "विवरण" :[ { "ProductName" :"Product-3", "ProductPrice" :150 }, {"ProductName" :"Product-4", "ProductPrice" :360 } ] }पूर्व>MongoDB का उपयोग करके फ़िल्टर किए गए उप-दस्तावेज़ों के साथ दस्तावेज़ को वापस करने के लिए क्वेरी निम्नलिखित है -
> db.demo457.aggregate([... {... $project:{... विवरण:{... $filter:{... input:"$details",... as:"आउटपुट",... cond:{ $gte:[ "$$output.ProductPrice", 170 ] }...}...}...}...}... ])यह निम्नलिखित आउटपुट देगा -
{ "_id" :101, "details" :[ { "ProductName" :"Product-2", "ProductPrice" :190 } ] }{ "_id" :102, "details" :[ { "ProductName" :"Product-4", "ProductPrice" :360 } ] }