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

अन्य संग्रह के मिलान क्षेत्र के लिए MongoDB कुल JSON सरणी फ़ील्ड?

<घंटा/>

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

> db.demo101.insertOne(... { "_id" :"1", "Details" :[ { "PId" :"200" }, { "PId" :"201" }, { "PId" " :"201" } ] }... ){ "स्वीकृत" :सच, "insertId" :"1" }

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

> db.demo101.find();

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

{ "_id" :"1", "Details" :[ { "PId" :"200" }, { "PId" :"201" }, { "PId" :"201" } ] } 

कुछ दस्तावेज़ों के साथ दूसरा संग्रह बनाने की क्वेरी निम्नलिखित है -

> db.demo102.insertOne(... { "_id" :"201", "CustEmailId" :"Carol@gmail.com" }... );{ "acknowledged" :true, "insertedId" :"201" }

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

> db.demo102.find();

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

{ "_id" :"200", "CustEmailId" :"John@gmail.com" }{ "_id" :"201", "CustEmailId" :"Carol@gmail.com" }

अन्य संग्रह के मेल खाने वाले फ़ील्ड के लिए JSON सरणी फ़ील्ड को एकत्रित करने की क्वेरी निम्नलिखित है -

> db.demo101.aggregate(... [... {$अनविंड:"$Details"},... {$लुकअप :{from:"demo102", "localField":"Details.PId" , "ForeignField":"_id", as :"out"}},... {$project :{"_id":1, "Details.PId":{$arrayElemAt:["$out.CustEmailId",0 ]}}},... {$group:{_id:"$_id", विवरण :{$push :"$Details"}}}... ]... ).pretty()

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

{ "_id" :"1", "Details" :[ { "PId" :"John@gmail.com" }, { "PId" :"Carol@gmail.com" }, { "PId" :"कैरोल@gmail.com" } ]}

  1. दो संग्रह कैसे एकत्रित करें जहां एक संग्रह से एक क्षेत्र मोंगोडीबी में दूसरे से बड़ा है?

    इसके लिए आप $lookup का इस्तेमाल कर सकते हैं। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo446.insert([ ...    { "ProductName": "Product1", "ProductPrice": 60 }, ...    { "ProductName": "Product2", "ProductPrice":

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

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

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

    एक नया क्षेत्र जोड़ने के लिए, MongoDB में $addFields का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo712.insertOne({"Name":"John"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea85f675d33e20ed1097b82&qu