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

MongoDB में सामान्य फ़ील्ड वाले सभी दस्तावेज़ों को समूहित करें?

<घंटा/>

इसके लिए $addToSet ऑपरेटर का इस्तेमाल करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -

> db.findDocumentWithCommonFieldsDemo.insertOne(
   {
      "UserId":1,
      "UserName":"Carol"
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdf8ebebf3115999ed51200")
}
> db.findDocumentWithCommonFieldsDemo.insertOne(
   {
      "UserId":2,
      "UserName":"David"
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdf8ebebf3115999ed51201")
}
>
> db.findDocumentWithCommonFieldsDemo.insertOne(
   {
      "UserId":1,
      "UserName":"Sam"
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdf8ebebf3115999ed51202")
}

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

> db.findDocumentWithCommonFieldsDemo.find();

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

{ "_id" : ObjectId("5cdf8ebebf3115999ed51200"), "UserId" : 1, "UserName" : "Carol" }
{ "_id" : ObjectId("5cdf8ebebf3115999ed51201"), "UserId" : 2, "UserName" : "David" }
{ "_id" : ObjectId("5cdf8ebebf3115999ed51202"), "UserId" : 1, "UserName" : "Sam" }

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

> db.findDocumentWithCommonFieldsDemo.aggregate({$group : {_id : "$UserId", "UserDetails": {$addToSet : "$UserName"}}});

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

{ "_id" : 2, "UserDetails" : [ "David" ] }
{ "_id" : 1, "UserDetails" : [ "Sam", "Carol" ] }

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

    सरणी-आधारित फ़ील्ड में अद्वितीय आइटम गिनने के लिए, कुल () के साथ $group का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo493.insertOne({"SubjectName":["MySQL","MongoDB","Java"]});{    "acknowledged" : true,    &q

  1. मैं सभी से मेल खाने के लिए मोंगोडीबी में सरणी फ़ील्ड के साथ कैसे काम करूं?

    MongoDB में सभी का मिलान करने के लिए, $all का उपयोग करें। $all ऑपरेटर उन दस्तावेज़ों का चयन करता है जहाँ किसी फ़ील्ड का मान एक सरणी है जिसमें सभी निर्दिष्ट तत्व होते हैं। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo695.insertOne({"ListOfValues":[100,200,500,800]}); {    &

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

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