नेस्टेड क्वेरी के लिए, पहले दस्तावेज़ों के साथ एक कलेक्शन बनाते हैं:
नमूना डेटा बनाना (नेस्टेड स्ट्रक्चर)
> db.demo492.insertOne({
"ProductDetails" : {
"StockDetails" : [
{ "ProductName" : "Product-1" },
{"ProductName" : "Product-2"},
{ "ProductName" : "Product-3"}
]
}
});
> db.demo492.insertOne({
"ProductDetails" : {
"StockDetails" : [
{ "ProductName" : "Product-4" },
{"ProductName" : "Product-5"},
{ "ProductName" : "Product-6"}
]
}
});
सभी दस्तावेज़ देखना
> db.demo492.find();
{ "ProductDetails" : { "StockDetails" : [ { "ProductName" : "Product-1" }, { "ProductName" : "Product-2" }, { "ProductName" : "Product3" } ] } }
{ "ProductDetails" : { "StockDetails" : [ { "ProductName" : "Product-4" }, { "ProductName" : "Product-5" }, { "ProductName" : "Product6" } ] } }
डॉट नोटेशन के साथ नेस्टेड क्वेरी (Product-1 खोजने के लिए)
> db.demo492.find({ "ProductDetails.StockDetails.ProductName":"Product-1"});
परिणाम:
{ "ProductDetails" : { "StockDetails" : [ { "ProductName" : "Product-1" }, { "ProductName" : "Product-2" }, { "ProductName" : "Product3" } ] } }
व्याख्या: डॉट नोटेशन ProductDetails.StockDetails.ProductName नेस्टेड ऐरे के अंदर फील्ड तक पहुंचता है। MongoDB स्वचालित रूप से ऐरे के अंदर किसी भी एलिमेंट से मेल खाता है। यह "Product-1" वाले दस्तावेज़ को लौटाता है।