किसी श्रेणी के भीतर किसी सरणी में मान खोजने के लिए, $gt और $lt का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo341.insertOne({ ... "Name": "Chris", ... "productDetails" : [ ... { ... "ProductPrice" : { ... "Price" : 800 ... } ... }, ... { ... "ProductPrice" : { ... "Price" : 400 ... } ... }, ... { ... "ProductPrice" : { ... "Price" : 300 ... } ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e53ed5cf8647eb59e5620a7") } > db.demo341.insertOne({ ... "Name": "Chris", ... "productDetails" : [ ... { ... "ProductPrice" : { ... "Price" : 1000 ... } ... }, ... { ... "ProductPrice" : { ... "Price" : 1200 ... } ... }, ... { ... "ProductPrice" : { ... "Price" : 1300 ... } ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e53edc1f8647eb59e5620a8") }
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo341.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e53ed5cf8647eb59e5620a7"), "Name" : "Chris", "productDetails" : [ { "ProductPrice" : { "Price" : 800 } }, { "ProductPrice" : { "Price" : 400 } }, { "ProductPrice" : { "Price" : 300 } } ] } { "_id" : ObjectId("5e53edc1f8647eb59e5620a8"), "Name" : "Chris", "productDetails" : [ { "ProductPrice" : { "Price" : 1000 } }, { "ProductPrice" : { "Price" : 1200 } }, { "ProductPrice" : { "Price" : 1300 } } ] }
कई मानदंडों के साथ सरणी में मान खोजने के लिए क्वेरी निम्नलिखित है -
> db.demo341.aggregate([ ... { "$match": { ... "productDetails": { ... "$elemMatch": { ... "ProductPrice.Price": { ... "$gt": 600, ... "$lt": 900 ... } ... } ... } ... }} ... ]).pretty();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e53ed5cf8647eb59e5620a7"), "Name" : "Chris", "productDetails" : [ { "ProductPrice" : { "Price" : 800 } }, { "ProductPrice" : { "Price" : 400 } }, { "ProductPrice" : { "Price" : 300 } } ] }