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

MongoDB में सब-डॉक्यूमेंट फील्ड के विशिष्ट मान कैसे प्राप्त करें?


सब-डॉक्यूमेंट फील्ड के विशिष्ट (distinct) मान प्राप्त करें

MongoDB में नेस्टेड (सब-डॉक्यूमेंट) फील्ड के विशिष्ट मान पाने के लिए डॉट (.) नोटेशन के साथ distinct() मेथड का उपयोग करें।

सिंटैक्स

db.yourCollectionName.distinct("yourOuterFieldName.yourInnerFieldName");

उदाहरण: StudentPersonalDetails ऐरे में StudentName के विशिष्ट मान

> db.getDistinctListOfSubDocumentFieldDemo.insertOne({
  "StudentId": 101,
  "StudentPersonalDetails": [
    {"StudentName": "John", "StudentAge": 24},
    {"StudentName": "Carol", "StudentAge": 21}
  ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5c90a9abb74d7cfe6392d7d8") }

> db.getDistinctListOfSubDocumentFieldDemo.insertOne({
  "StudentId": 102,
  "StudentPersonalDetails": [
    {"StudentName": "Carol", "StudentAge": 26},
    {"StudentName": "Bob", "StudentAge": 21}
  ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5c90a9ceb74d7cfe6392d7d9") }

> db.getDistinctListOfSubDocumentFieldDemo.insertOne({
  "StudentId": 103,
  "StudentPersonalDetails": [
    {"StudentName": "Bob", "StudentAge": 25},
    {"StudentName": "David", "StudentAge": 24}
  ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5c90a9e6b74d7cfe6392d7da") }

सभी दस्तावेज़:

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

विशिष्ट नाम प्राप्त करें

> db.getDistinctListOfSubDocumentFieldDemo.distinct("StudentPersonalDetails.StudentName");

व्याख्या: डॉट नोटेशन StudentPersonalDetails.StudentName ऐरे के अंदर प्रत्येक ऑब्जेक्ट के StudentName फील्ड तक पहुंचता है और डुप्लिकेट हटाकर विशिष्ट मान लौटाता है।

  1. - MongoDB कलेक्शन से यूनिक मान प्राप्त करें

    यूनिक मान प्राप्त करने और डुप्लिकेट को अनदेखा करने के लिए, MongoDB में distinct() का उपयोग करें। distinct() एक सिंगल कलेक्शन में निर्दिष्ट फील्ड के लिए विशिष्ट मान ढूंढता है और परिणाम को एक ऐरे में लौटाता है। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo704.insertOne({LanguageCode:hi});

  1. - MongoDB में दस्तावेज फील्ड मानों से मान घटाएं (TotalPrice - Discount)

    दस्तावेज फील्ड मानों से मान घटाने के लिए, MongoDB aggregate() में $subtract का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo599.insertOne({TotalPrice:250,DiscountPrice:35}); { acknowledged : true, insertedId : ObjectId(5e948192f5f1e70e134e2696) } > db.demo599.insertOne({To

  1. - MongoDB में विशिष्ट तत्वों के लिए अधिकतम मान कैसे प्राप्त करें?

    विशिष्ट तत्वों के लिए अधिकतम मान प्राप्त करने के लिए MongoDB aggregate() में $sort और $group का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo750.insertOne({id:101,value:50}); { acknowledged : true, insertedId : ObjectId(5eae74b2a930c785c834e566) } > db.demo750.insertOne({id:102,value:40});