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

MongoDB में Field द्वारा Documents Group करके Select करना

Field द्वारा documents group करके select करने के लिए $group के साथ $project का उपयोग करें।

Collection बनाना

> db.demo540.insertOne({id:1,"Name":"Chris","CountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8ca368ef4dcbee04fbbc0e") }
> db.demo540.insertOne({id:1,"Name":"Chris","CountryName":"UK"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8ca36bef4dcbee04fbbc0f") }
> db.demo540.insertOne({id:1,"Name":"Chris","CountryName":"AUS"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8ca370ef4dcbee04fbbc10") }

सभी Documents Display करना

> db.demo540.find();

Output:

{ "_id" : ObjectId("5e8ca368ef4dcbee04fbbc0e"), "id" : 1, "Name" : "Chris", "CountryName" : "US" }
{ "_id" : ObjectId("5e8ca36bef4dcbee04fbbc0f"), "id" : 1, "Name" : "Chris", "CountryName" : "UK" }
{ "_id" : ObjectId("5e8ca370ef4dcbee04fbbc10"), "id" : 1, "Name" : "Chris", "CountryName" : "AUS" }

Field द्वारा Group करके Select करने का Query

> var query= [
... {
...   "$group": {
...     "_id": {
...       "id": "$id",
...       "Name": "$Name"
...     },
...     "details": {
...       "$push": {
...         "CountryName": "$CountryName"
...       }
...     }
...   }
... },
... {
...   "$project": {
...     "_id": "$_id.id",
...     "Name": "$_id.Name",
...     "details": 1
...   }
... }
... ];
> db.demo540.aggregate(q).pretty();

Output:

{
  "details" : [
    { "Name" : "Chris", "CountryName" : "US" },
    { "Name" : "Chris", "CountryName" : "UK" },
    { "Name" : "Chris", "CountryName" : "AUS" }
  ],
  "_id" : 1,
  "Name" : "Chris"
}

व्याख्या: पहले $group ने id और Name द्वारा group करके $push से CountryName का array बनाया। फिर $project ने output format restructure किया।

  1. - MongoDB Aggregation - Specific Field Value वाले Documents Fetch करना

    इसके लिए aggregate() का उपयोग करें। मान लें हमें field Age value 21 वाले documents fetch करने हैं। Collection बनाना > db.demo685.insertOne( ... { ... details: ... [ ... { Name:Chris, Age:21 }, ... { Name:David, Age:23 }, ... { Name:Bob, Age:21 } ... ] ... } ...

  1. - MongoDB में _id फील्ड छिपाएं

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo575.insertOne({id:101,Information:{Name:Chris,Age:21}}); { acknowledged : true, insertedId : ObjectId(5e916a55581e9acd78b427f7) } > db.demo575.insertOne({id:102,Information:{Name:David,Age:20}}); { acknowledged : true, insertedId : ObjectId

  1. - MongoDB क्वेरी: ऐरे फील्ड वाले दस्तावेजों को मैच करें

    ऐरे फील्ड वाले दस्तावेजों को मैच करने के लिए, $elemMatch ऑपरेटर का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo592.insertOne({ id:101, details: [ { Name: Chris, Value: 200 }, { Name: David, Value: 800 } ] }); { acknowledged : true, insertedId : Ob