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

MongoDB में सभी दस्तावेज़ों में सरणी-आधारित फ़ील्ड्स के अद्वितीय आइटम कैसे गिनें?

MongoDB में सरणी-आधारित फ़ील्ड्स में अद्वितीय आइटम्स को गिनने के लिए, aggregate() के साथ $group का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं:

> db.demo493.insertOne({"SubjectName":["MySQL","MongoDB","Java"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e849f97b0f3fa88e22790c4") }
> db.demo493.insertOne({"SubjectName":["C++","MongoDB","C"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e849fa4b0f3fa88e22790c5") }
> db.demo493.insertOne({"SubjectName":["MySQL","MongoDB","C"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e849fb2b0f3fa88e22790c6") }

find() मेथड की मदद से संग्रह के सभी दस्तावेज़ प्रदर्शित करें:

> db.demo493.find();

यह निम्न आउटपुट देगा:

{ "_id" : ObjectId("5e849f97b0f3fa88e22790c4"), "SubjectName" : [ "MySQL", "MongoDB", "Java" ] }
{ "_id" : ObjectId("5e849fa4b0f3fa88e22790c5"), "SubjectName" : [ "C++", "MongoDB", "C" ] }
{ "_id" : ObjectId("5e849fb2b0f3fa88e22790c6"), "SubjectName" : [ "MySQL", "MongoDB", "C" ] }

सभी दस्तावेज़ों में सरणी-आधारित फ़ील्ड्स में अद्वितीय आइटम्स गिनने के लिए क्वेरी:

> db.demo493.aggregate([
    { $unwind: "$SubjectName" },
    { $group: { _id: "$SubjectName", Frequency: { $sum : 1 } } }
]);

यह निम्न आउटपुट देगा:

{ "_id" : "C++", "Frequency" : 1 }
{ "_id" : "C", "Frequency" : 2 }
{ "_id" : "Java", "Frequency" : 1 }
{ "_id" : "MySQL", "Frequency" : 2 }
{ "_id" : "MongoDB", "Frequency" : 3 }
  1. - MongoDB में ऐरे आइटम्स की गिनती करके नए फील्ड में प्रदर्शित करें

    दस्तावेज में ऐरे आइटम्स की संख्या गिनने के लिए, MongoDB में $size का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo703.insertOne({ListOfSubject:[MySQL,MongoDB]}); { acknowledged : true, insertedId : ObjectId(5ea6ebaf551299a9f98c93b4) } > db.demo703.insertOne({ListOfSubject:

  1. - MongoDB एग्रीगेशन: सभी दस्तावेजों में विशिष्ट मानों की गिनती

    इसके लिए MongoDB में aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo718.insertOne({ id:101, details: { OtherDetails: [Chris, Mike, Sam], GroupName: [Group-1], Info: [] } }); { acknowledged : true, insertedId : ObjectId(5eaae258

  1. - MongoDB एग्रीगेशन में मल्टीपल फ़ील्ड्स द्वारा काउंट करना

    एक ही पाइपलाइन में कई फ़ील्ड्स पर काउंट करने के लिए $facet का उपयोग करें। डेमो डेटा db.demo721.insertOne({ details1: { id:101 }, details2: { id:101 }, details3: { id:101 } }); db.demo721.insertOne({ details1: { id:101 }, details2: { id:102 }, details3: { id:102 } }); क्वेरी