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

मैं MongoDB में नेस्टेड दस्तावेज़ों को कैसे एकत्रित कर सकता हूँ?

<घंटा/>

MongoDB में नेस्टेड दस्तावेज़ों को एकत्रित करने के लिए, आप $group का उपयोग कर सकते हैं। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -

> db.aggregateDemo.insertOne(
...    {
...       "ProductInformation": [
...          {
...             "Product1": [
...                {
...                   Amount: 50
...                },
...                {
...                   Amount: 90
...                },
...                {
...                   Amount: 30
...                }
...             ]
...          },
...          {
...             "Product1": [
...                {
...                   Amount: 200
...                },
...                {
...                   Amount: 30
...                },
...                {
...                   Amount: 40
...                }
...             ]
...          },
...          {
...             "Product1": [
...                {
...                   Amount: 150
...                },
...                {
...                   Amount: 190
...                },
...                {
...                   Amount: 198
...                }
...             ]
...          }
...
...       ]
... });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e04df58150ee0e76c06a04d")
}
> db.aggregateDemo.insertOne(
...    {
...       "ProductInformation": [
...          {
...             "Product1": [
...                {
...                   Amount: 100
...                },
...                {
...                   Amount: 1002
...                },
...                {
...                   Amount: 78
...                }
...             ]
...          },
...          {
...             "Product1": [
...                {
...                   Amount: 75
...                },
...                {
...                   Amount: 400
...                },
...                {
...                   Amount: 600
...                }
...             ]
...          },
...          {
...             "Product1": [
...                {
...                   Amount: 700
...                },
...                {
...                   Amount: 500
...                },
...                {
...                   Amount: 600
...                }
...             ]
...          }
...
...       ]
... });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e04df93150ee0e76c06a04e")
}

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

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

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

{
   "_id" : ObjectId("5e04df58150ee0e76c06a04d"),
   "ProductInformation" : [
      {
         "Product1" : [
            {
               "Amount" : 50
            },
            {
               "Amount" : 90
            },
            {
               "Amount" : 30
            }
         ]
      },
      {
         "Product1" : [
      {
         "Amount" : 200
      },
      {
         "Amount" : 30
      },
      {
         "Amount" : 40
      }
   ]
},
{
   "Product1" : [
      {
         "Amount" : 150
      },
      {
         "Amount" : 190
      },
      {
         "Amount" : 198
      }
   ]
}
]
}
{
   "_id" : ObjectId("5e04df93150ee0e76c06a04e"),
   "ProductInformation" : [
      {
         "Product1" : [
            {
               "Amount" : 100
            },
            {
               "Amount" : 1002
            },
            {
               "Amount" : 78
            }
         ]
      },
   {
      "Product1" : [
         {
            "Amount" : 75
         },
         {
            "Amount" : 400
         },
         {
            "Amount" : 600
         }
      ]
   },
   {
      "Product1" : [
         {
            "Amount" : 700
         },
         {
            "Amount" : 500
         },
         {
            "Amount" : 600
         }
      ]
   }
]
}

यहाँ नेस्टेड दस्तावेज़ों को एकत्रित करने के लिए क्वेरी है -

> db.aggregateDemo.aggregate([
... {
...    $unwind:"$ProductInformation"
... },
... {
...    $unwind:"$ProductInformation.Product1"
... },
... {
...    $group:{
...       _id:null,
...       MaximumAmount:{
...          $max:"$ProductInformation.Product1.Amount"
...       }
...    }
... }
... ]);

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

{ "_id" : null, "MaximumAmount" : 1002 }

  1. मैं MongoDB में फ़ील्ड गणना द्वारा संग्रह और समूह को कैसे एकत्रित कर सकता हूं?

    MongoDB एग्रीगेट () में, $group और एग्रीगेट कलेक्शन का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo616. इंसर्टऑन ({विवरण:{नाम:क्रिस, आयु:24}}); { स्वीकृत:सच, सम्मिलित आईडी:ऑब्जेक्ट आईडी (5e99bfc165492f6c60d00287)} संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करे

  1. MongoDB में नेस्टेड एंबेडेड दस्तावेज़ अद्यतन कर रहा है?

    MongDB में सर्वश्रेष्ठ दस्तावेज़ों को अपडेट करने के लिए, UPDATE () और स्थितीय ($) ऑपरेटर का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo643.insertOne({... विवरण:[... {... देश का नाम:अमेरिका,... छात्र विवरण:[{नाम:क्रिस}, {विषय का नाम: MySQL}]... },...... {... कंट्रीनाम:यूके,... छात्र

  1. नेस्टेड MongoDB दस्तावेज़ों से केवल कुंजियाँ कैसे प्रदर्शित करें?

    आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo740.insertOne({... विवरण:... [... {... नाम:क्रिस,... आयु:21,... देश का नाम:अमेरिका ...},... {... नाम:बॉब,... उम्र:20,... देश का नाम:यूके,... विवाहित है:सच...}... ].. . });{ स्वीकृत :सच, insertId :ObjectId(5ead700c57bb72a10bcf066d)} संग्रह से सभी दस्ता