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

MongoDB में सबसरणी मान निकालना ($elemMatch प्रोजेक्शन)

$elemMatch प्रोजेक्शन ऑपरेटर

किसी सरणी फील्ड से **केवल वही तत्व** लौटाने के लिए जो विशिष्ट शर्त से मेल खाता हो, find() के प्रोजेक्शन पैरामीटर में $elemMatch ऑपरेटर का उपयोग करें। यह पूरी सरणी के बजाय केवल पहला मिलान वाला तत्व लौटाता है।

उदाहरण: नेस्टेड सरणी वाला दस्तावेज़ डालना

> db.extractSubArrayDemo.insertOne(
... {
...   _id: 101,
...   "clientName": "Larry",
...   "ClientDetails": [
...     { "ClientProjectName": "Online Game", "DeveloperTeamSize": 10 },
...     { "ClientProjectName": "Pig Dice Game", "DeveloperTeamSize": 12 },
...     { "ClientProjectName": "Web Student Tracker", "DeveloperTeamSize": 11 }
...   ]
... }
... );
{ "acknowledged" : true, "insertedId" : 101 }

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

> db.extractSubArrayDemo.find().pretty();

आउटपुट:


विशिष्ट प्रोजेक्ट तत्व निकालना

"Pig Dice Game" प्रोजेक्ट वाला तत्व निकालें:

> db.extractSubArrayDemo.find({ '_id': 101 }, { _id: 0, ClientDetails: { $elemMatch: {ClientProjectName: 'Pig Dice Game' } }}).pretty();

आउटपुट:


व्याख्या: प्रोजेक्शन { ClientDetails: { $elemMatch: {ClientProjectName: 'Pig Dice Game' } } } MongoDB को निर्देश देता है कि ClientDetails सरणी में से केवल उस तत्व को शामिल करें जहां ClientProjectName "Pig Dice Game" हो। परिणाम अभी भी एक सरणी है (जिसमें एक तत्व है)।

नोट: $elemMatch प्रोजेक्शन केवल **पहले** मिलान वाले तत्व को लौटाता है। यदि एकाधिक तत्व मेल खाते हैं, तो केवल पहला शामिल होता है।

  1. - MongoDB शेल में डेटा मान को कैसे फॉर्मेट करें?

    डेटा मान फॉर्मेट करने के लिए MongoDB में $dateToString का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo480.insertOne({id:1,"DueDate":new ISODate("2020-01-10")});{    "acknowledged" : true,    "insertedId" : ObjectId(&quo

  1. - MongoDB में रेंज कैसे खोजें?

    रेंज खोजने के लिए, sort() के साथ limit() का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo665.insertOne({Value:10}); { acknowledged : true, insertedId : ObjectId(5ea1bf1424113ea5458c7d08) } > db.demo665.insertOne({Value:15}); { acknowledged : true, insertedId : ObjectId(5ea1bf1b

  1. - MongoDB कलेक्शन को ऐरे वैल्यू द्वारा सॉर्ट करें

    MongoDB कलेक्शन को ऐरे वैल्यू द्वारा सॉर्ट करने के लिए, $sort के साथ aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo577.insertOne({ student: { details: [ { Name:Chris, Score:45 }, { Name:Bob, Score:33 }, { Name:Davi