Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में एम्बेडेड ऐरे से विशिष्ट एलिमेंट्स कैसे प्राप्त करें?

विशिष्ट एलिमेंट्स प्राप्त करने के लिए डॉट नोटेशन के साथ $match का उपयोग करें।

नमूना डेटा बनाना (एम्बेडेड ऐरे)

> db.demo641.insert( {
  ProductId:101,
  "ProductInformation": [
    { ProductName:"Product-1", "ProductPrice":1000 },
    { ProductName:"Product-2", "ProductPrice":500 },
    { ProductName:"Product-3", "ProductPrice":2000 },
    { ProductName:"Product-4", "ProductPrice":3000 }
  ]
} );

दस्तावेज़ देखना

> db.demo641.find();
{ "ProductId" : 101, "ProductInformation" : [ { "ProductName" : "Product-1", "ProductPrice" : 1000 }, { "ProductName" : "Product-2", "ProductPrice" : 500 }, { "ProductName" : "Product-3", "ProductPrice" : 2000 }, { "ProductName" : "Product-4", "ProductPrice" : 3000 } ] }

कीमत 1000 या 2000 वाले प्रोडक्ट्स प्राप्त करने की क्वेरी

> db.demo641.aggregate([
  {$unwind: "$ProductInformation"},
  {$match: { "ProductInformation.ProductPrice": {$in :[1000, 2000]}} },
  {$project: {_id: 0, ProductInformation: 1} }
]).pretty();

परिणाम:

{ "ProductInformation" : { "ProductName" : "Product-1", "ProductPrice" : 1000 } }
{ "ProductInformation" : { "ProductName" : "Product-3", "ProductPrice" : 2000 } }

व्याख्या: $unwind ऐरे को फ्लैट करता है, $match के साथ $in 1000 या 2000 कीमत वाले एलिमेंट्स फ़िल्टर करता है, $project केवल ProductInformation दिखाता है।

  1. - MongoDB में Array Elements के साथ Specific Document Fetch करना

    MongoDB में किसी specific document को fetch करने के लिए find() मेथड में dot notation का उपयोग करें। आइए documents के साथ एक collection बनाते हैं: > db.demo672.insertOne({Brand:[{CategoryName:Mobile,Name:Oppo}]}); { acknowledged : true, insertedId : ObjectId(5ea3ea9b04263e90dac943e5) } > db.dem

  1. - MongoDB एग्रीगेशन: दस्तावेज और ऐरे एलिमेंट्स से औसत प्राप्त करें

    इसके लिए, $avg के साथ $group और aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo598.insertOne({ Information:Student, id:100, details:[ {Name:Chris,Marks:75}, {Name:Bob,Marks:55} ] }); { acknowledged : true, insertedId : ObjectId(5e9

  1. - MongoDB दस्तावेज़ों में विशिष्ट फ़ील्ड के ऐरे एलिमेंट्स काउंट करना

    किसी फ़ील्ड में ऐरे एलिमेंट्स की संख्या गिनने के लिए $size ऑपरेटर का उपयोग करें। डेमो डेटा > db.demo723.insertOne({Subject:[MySQL,MongoDB]}); > db.demo723.insertOne({Subject:[C]}); > db.demo723.insertOne({Subject:[C++,Java,Python]}); क्वेरी db.demo723.aggregate([ { $project: { count: