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

MongoDB में ऑब्जेक्ट आईडी की सरणी के लिए $ लुकअप करें?

<घंटा/>

इसके लिए $lookup का इस्तेमाल करें। यह प्रसंस्करण के लिए "शामिल हुए" संग्रह से दस्तावेज़ों में फ़िल्टर करने के लिए एक ही डेटाबेस में एक अनछुए संग्रह में बाएं बाहरी जुड़ाव करता है।

आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -

> db.demo395.insertOne({Name:"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5e782317aa3ef9ab8ab207")
}
> db.demo395.insertOne({Name:"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5e782317aa3ef9ab8ab208")
}

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

> db.demo395.find();

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

{ "_id" : ObjectId("5e5e782317aa3ef9ab8ab207"), "Name" : "Chris" }
{ "_id" : ObjectId("5e5e782317aa3ef9ab8ab208"), "Name" : "David" }

आइए दस्तावेजों के साथ दूसरा संग्रह बनाएं -

> db.demo396.insertOne({"details" : [
...    ObjectId("5e5e782317aa3ef9ab8ab207"),
...    ObjectId("5e5e782317aa3ef9ab8ab208")
...    ]
... }
... )
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5e787817aa3ef9ab8ab209")
}

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

> db.demo396.find();

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

{ "_id" : ObjectId("5e5e787817aa3ef9ab8ab209"), "details" : [
ObjectId("5e5e782317aa3ef9ab8ab207"), ObjectId("5e5e782317aa3ef9ab8ab208") ] }

ऑब्जेक्ट आईडी की सरणी में $लुकअप करने के लिए क्वेरी निम्नलिखित है -

> db.demo396.aggregate([
...    { "$lookup": {
...       "from": "demo395",
...       "let": { "details": "$details" },
...       "pipeline": [
...          { "$match": { "$expr": { "$in": [ "$_id", "$$details" ] } } }
...       ],
...       "as": "output"
...    }}
... ])

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

{ "_id" : ObjectId("5e5e787817aa3ef9ab8ab209"), "details" : [ ObjectId("5e5e782317aa3ef9ab8ab207"), ObjectId("5e5e782317aa3ef9ab8ab208") ], "output" : [ { "_id" : ObjectId("5e5e782317aa3ef9ab8ab207"), "Name" : "Chris" }, { "_id" : ObjectId("5e5e782317aa3ef9ab8ab208"), "Name" : "David" } ] }

  1. MongoDB में किसी ऑब्जेक्ट सरणी से आइटम कैसे प्राप्त करें?

    ऑब्जेक्ट एरे से आइटम प्राप्त करने के लिए, एग्रीगेट () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo459.insertOne( ... { "_id" : 1, ... "Information" : [ ...    { ...       "Name" : "Chris", ...      

  1. सूचकांक एन में सरणी वस्तु अद्यतन करने के लिए MongoDB क्वेरी?

    अरे ऑब्जेक्ट को अपडेट करने के लिए MongoDB में अपडेट () का उपयोग करें। डॉट नोटेशन का उपयोग भी आवश्यक है। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo489.insertOne(... {......... विवरण:[{... आईडी:101,... Info1:{... छात्रनाम: क्रिस...},... Info2 :{... TeacherName :David...}...},... {... id :102,...

  1. MongoDB में सरणी वस्तु के साथ एक सरणी तत्व का वृद्धि मूल्य

    किसी ऐरे ऑब्जेक्ट का मान बढ़ाने के लिए, $inc का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - >db.demo506.insertOne({"details":[{id:1,Quantity:4},{id:2,Quantity:3},{id:3,Quantity:2},{id:4,Qua ntity:7}]}); {    "acknowledged" : true,    "insertedI