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

एम्बेडेड दस्तावेज़ों की एक सरणी को माता-पिता तक कैसे स्थानांतरित करें और एकत्रीकरण पाइपलाइन के साथ कुंजी/मान बदलें?

<घंटा/>

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

> db.demo733.insertOne(
...    {
...       "SubjectDetails":
...       [
...          {
...             SubjectName:"MongoDB",
...             "Marks":85
...          },
...          {
...             SubjectName:"MySQL",
...             "Marks":90
...          },
...          {
...             SubjectName:"PL/SQL",
...             "Marks":98
...          }
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eac6e6156e85a39df5f6342")
}

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

> db.demo733.find();

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

{ "_id" : ObjectId("5eac6e6156e85a39df5f6342"), "SubjectDetails" : [ { "SubjectName" : "MongoDB", "Marks" : 85 }, { "SubjectName" : "MySQL", "Marks" : 90 }, { "SubjectName" : "PL/SQL", "Marks" : 98 } ] }

एम्बेडेड डॉक्स की एक सरणी को पैरेंट तक ले जाने और एग्रीगेशन पाइपलाइन के साथ कुंजी/मान बदलने के लिए क्वेरी निम्नलिखित है -

> db.demo733.aggregate([
...    {
...       $replaceRoot: {
...          newRoot: {
...             $mergeObjects: [
..               . { _id: "$_id" },
...                { $arrayToObject: { $map: { input: "$SubjectDetails", in: [ "$$this.SubjectName", "$$this.Marks" ] } } }
...             ]
...          }
...       }
...    }
... ]).pretty()

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

{
   "_id" : ObjectId("5eac6e6156e85a39df5f6342"),
   "MongoDB" : 85,
   "MySQL" : 90,
   "PL/SQL" : 98
}

  1. PHP में कुंजी के आधार पर सरणी तत्व को कैसे हटाएं?

    PHP में एक कुंजी के आधार पर एक सरणी तत्व को हटाने के लिए, कोड इस प्रकार है- उदाहरण <?php    $arr = array( " John ", "Jacob ", " Tom ", " Tim ");    echo "Array with leading and trailing whitespaces...\n";    foreach(

  1. बैश में ऐरे वेरिएबल्स, उदाहरण के साथ कैसे उपयोग करें

    हमने पहले बैश में वेरिएबल का उपयोग करके कवर किया है - यह लेख बैश की व्याख्या करेगा सरणी चर और कुछ उदाहरण उपयोग प्रदान करते हैं। सरणी क्या है एक सरणी एक प्रकार का चर है जिसमें कई मान हो सकते हैं। यह उन मूल्यों की एक सूची है जिनके माध्यम से आप लूप कर सकते हैं और प्रत्येक व्यक्तिगत मूल्य पर संचालन कर

  1. अपनी नेटवर्क सुरक्षा कुंजी कैसे खोजें और बदलें?

    आपके वाई-फाई पासवर्ड को तकनीकी शब्दों में नेटवर्क सुरक्षा कुंजी के रूप में संदर्भित किया जाता है। नेटवर्क कनेक्शन बनाते समय, यह वह संयोजन है जो आप प्रदान करते हैं। वाई-फाई हॉटस्पॉट तक अवैध पहुंच को रोकने के लिए नेटवर्क सुरक्षा कुंजी प्रभारी है। एक ही नेटवर्क से जुड़े डिवाइस एक दूसरे के साथ संचार कर