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

समान उत्पाद आईडी वाले शेयरों की गिनती प्राप्त करने के लिए मोंगोडीबी नेस्टेड $ समूह और $ राशि का उपयोग करना?


MongoDB में $group का उपयोग निर्दिष्ट _id एक्सप्रेशन द्वारा इनपुट दस्तावेज़ों को समूहीकृत करने के लिए किया जाता है। आइए दस्तावेजों के साथ एक संग्रह बनाएं -

> db.demo466.insertOne(... {...... "ProductPrice" :150,... "ProductQuantity" :1,... "ProductName" :"Product-1",.. "वास्तविक राशि":110,... "उत्पाद लाभ":40,... "उत्पाद आईडी":1...}...);{ "स्वीकृत":सच, "सम्मिलित आईडी":ऑब्जेक्ट आईडी ("5e80477cb0f3fa88e2279066") }>> db.demo466.insertOne(... {...... "ProductPrice" :150,... "ProductQuantity" :1,... "ProductName" :"Product-1",... "वास्तविक राशि" :110,... "उत्पाद लाभ" :40,... "उत्पाद आईडी" :2...}...);{ "स्वीकृत" :सत्य, "सम्मिलित आईडी" :वस्तु आईडी ("5e80477db0f3fa88e2279067")}> db.demo466.insertOne(... {...... "ProductPrice" :170,... "ProductQuantity" :2,... "ProductName" :"Product-2",... "ActualAmount" " :130,... "ProductProfit" :50,... "ProductId" :3...}...);{ "स्वीकृत" :सच, "insertedId" :ObjectId("5e80477eb0f3fa88e2279068")} 

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

> db.demo466.find();

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

{ "_id" :ObjectId("5e80477cb0f3fa88e2279066"), "ProductPrice" :150, "ProductQuantity" :1,,"ProductName" :"Product-1", "actualAmount" :110, "ProductProfit" :40, " ProductId" :1 }{ "_id" :ObjectId ("5e80477db0f3fa88e2279067"), "ProductPrice" :150, "ProductQuantity" :1, "ProductName" :"Product-1", "actualAmount" :110, "ProductProfit" :40 , "ProductId" :2 }{ "_id" :ObjectId("5e80477eb0f3fa88e2279068"), "ProductPrice" :170, "ProductQuantity" :2,"ProductName" :"Product-2", "actualAmount" :130, "ProductProfit" :50, "ProductId" :3 }

MongoDB में नेस्टेड $group और $sum का उपयोग करने के लिए क्वेरी निम्नलिखित है -

> db.demo466.aggregate([... {... '$group':{... '_id':{... 'ProductName':'$ProductName',...},. .. 'वास्तविक राशि':{'$ योग':'$ वास्तविक राशि'},... 'उत्पाद मात्रा':{'$ राशि':'$ उत्पाद मात्रा'},... 'उत्पाद आईडी':{'$ जोड़ने के लिए सेट':'$ProductId'},...},...},... {... '$project':{... 'ProductQuantity':true,... 'actualAmount':true,... 'NumberOfProductInStock':{'$size':'$ProductId'}... }... }])

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

{ "_id" :{ "ProductName" :"Product-2" }, "ActualAmount" :130, "ProductQuantity" :2,"NumberOfProductInStock" :1 }{ "_id" :{ "ProductName" :"ProductName" -1"}, "वास्तविक राशि" :220, "उत्पाद मात्रा" :2,"NumberOfProductInStock" :2 }

  1. दो तिथियों के बीच डेटा प्राप्त करें और MongoDB में एक विशिष्ट मान के साथ। समूह और गिनती के साथ योग प्राप्त करें?

    मिलान करने के लिए, MongoDB में $match का उपयोग करें और दो तिथियों के बीच डेटा प्राप्त करने के लिए, $gte और $lte का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo560.insertOne({"value1":40,"value2":40,shippingDate:new ISODate("2020-02-26")});{   &n

  1. आईडी को सॉर्ट करें और मोंगोडीबी के साथ आइटम को उलट दें

    $ प्राकृतिक दस्तावेजों को प्राकृतिक क्रम में लौटाता है। आइटम को उलटने के लिए, $natural:-1 . का उपयोग करें . आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo710.insertOne({id:101,Name:"Robert"}); {    "acknowledged" : true,    "insertedId" : Objec

  1. MongoDB में "$group" ऑपरेशन में केवल पहले दो फ़ील्ड को सॉर्ट करें और प्राप्त करें

    आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo576.insertOne({id:101,Name:"Chris",Marks:45}){    "acknowledged" : true, "insertedId" : ObjectId("5e916c3b581e9acd78b427fa") } > db.demo576.insertOne({id:101,Name:"John",Marks:55}){ &nb