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

विभिन्न दस्तावेजों में समान आईडी वाले तत्वों का MongoDB एकत्रीकरण?


दस्तावेज़ों के ऐसे समूहन के लिए, MongoDB समुच्चय () में $group का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं -

> db.demo602.insertOne({id:1,Name:"Chris"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e960080ed011c280a0905c9")
}
> db.demo602.insertOne({id:2,Name:"David"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e960086ed011c280a0905ca")
}
> db.demo602.insertOne({id:1,Name:"Bob"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e96008ced011c280a0905cb")
}
> db.demo602.insertOne({id:3,Name:"Mike"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e960092ed011c280a0905cc")
}
> db.demo602.insertOne({id:2,Name:"John"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e960099ed011c280a0905cd")
}
> db.demo602.insertOne({id:1,Name:"Sam"});{
   "acknowledged" : true, "insertedId" : ObjectId("5e9600a1ed011c280a0905ce")
}

संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -

> db.demo602.find();

यह निम्नलिखित आउटपुट देगा -

{ "_id" : ObjectId("5e960080ed011c280a0905c9"), "id" : 1, "Name" : "Chris" }
{ "_id" : ObjectId("5e960086ed011c280a0905ca"), "id" : 2, "Name" : "David" }
{ "_id" : ObjectId("5e96008ced011c280a0905cb"), "id" : 1, "Name" : "Bob" }
{ "_id" : ObjectId("5e960092ed011c280a0905cc"), "id" : 3, "Name" : "Mike" }
{ "_id" : ObjectId("5e960099ed011c280a0905cd"), "id" : 2, "Name" : "John" }
{ "_id" : ObjectId("5e9600a1ed011c280a0905ce"), "id" : 1, "Name" : "Sam" }

विभिन्न दस्तावेज़ों में समान आईडी वाले तत्वों को एकत्रित करने की क्वेरी निम्नलिखित है -

> db.demo602.aggregate([
...    { $group: {
...       '_id': {id:"$id", "Name" : "$Name"},
...       "count" : { "$sum": 1 }
...    }},
...    { $group: {
...       '_id': "$_id.id",
...       "ListOfName" : {"$push" : {Name:"$_id.Name", Frequency: "$count"}}
...    }},
... ],
... {'allowDiskUse': true}
... );

यह निम्नलिखित आउटपुट देगा -

{ "_id" : 2, "ListOfName" : [
   { "Name" : "John", "Frequency" : 1 },
   { "Name" : "David", "Frequency" : 1 }
] }
{ "_id" : 3, "ListOfName" : [
   { "Name" : "Mike", "Frequency" : 1 }
] }
{ "_id" : 1, "ListOfName" : [
   { "Name" : "Sam", "Frequency" : 1 },
   { "Name" : "Bob", "Frequency" : 1 },
   { "Name" : "Chris", "Frequency" : 1 }
] }

  1. विशिष्ट फ़ील्ड मान वाले दस्तावेज़ प्राप्त करने के लिए MongoDB एकत्रीकरण?

    इसके लिए एग्रीगेट () का इस्तेमाल करें। मान लें कि हमें 21 मान वाले आयु फ़ील्ड वाले दस्तावेज़ लाने हैं। आइए अब दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo685.insertOne( ...    { ...       "details": ...       [ ...         &n

  1. कम से कम अंकों के साथ दो दस्तावेज़ प्राप्त करने के लिए MongoDB एकत्रीकरण

    अंकों की क्रमबद्ध सूची प्राप्त करने के लिए, $sort का उपयोग करें। $सीमा:2 . का उपयोग करें कम से कम अंक वाले केवल दो ऐसे दस्तावेज़ प्रदर्शित करने के लिए। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo709.insertOne({Name:"John","Marks":75}); {    "acknowledged&q

  1. MongoDB एकत्रीकरण के साथ कई क्षेत्रों द्वारा गणना करें

    एकाधिक फ़ील्ड द्वारा गिनने के लिए, MongoDB में $facet का उपयोग करें। $facet इनपुट दस्तावेज़ों के एक ही सेट पर एक ही चरण में कई एकत्रीकरण पाइपलाइनों को संसाधित करता है। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo721.insertOne(... {...... details1:{... id:101......},. .. details2:{... id:102...},