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

MongoDB में सभी कुंजियों को सूचीबद्ध किए बिना उप-क्षेत्रों को प्रक्षेपण में शीर्ष स्तर पर बढ़ावा दें?

<घंटा/>

प्रक्षेपण में उपक्षेत्रों को शीर्ष स्तर पर बढ़ावा देने के लिए, $objectToArray और $arrayToObject का उपयोग करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं:

> db.promoteSubfieldsDemo.insertOne({'s':10,'y':{'t':20,'u':30,}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e038004190a577c668b55d5")
}

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

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

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

{
   "_id" : ObjectId("5e038004190a577c668b55d5"),
   "s" : 10,
   "y" : {
      "t" : 20,
      "u" : 30
   }
}

सभी कुंजियों को सूचीबद्ध किए बिना सबफ़ील्ड को प्रोजेक्शन में शीर्ष स्तर तक बढ़ावा देने के लिए क्वेरी निम्नलिखित है -

> db.promoteSubfieldsDemo.aggregate([
...    { "$replaceRoot": {
...       "newRoot": {
...          "$arrayToObject": {
...             "$concatArrays": [
...                [{ "k": "s", "v": "$s" }],
...                { "$objectToArray": "$y" }
...             ]
...          }
...       }
...    }}
... ]);

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

{ "s" : 10, "t" : 20, "u" : 30 }

  1. MongoDB एकत्रीकरण और प्रक्षेपण?

    इसके लिए, कुल () के साथ $project का उपयोग करें। एकत्रीकरण में $प्रोजेक्ट अनुरोधित फ़ील्ड वाले दस्तावेज़ों के साथ पाइपलाइन में अगले चरण तक जाता है। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo762.insertOne({... _id :{... userId:101,... userName:Chris...},... countryName :अमेरिका,... विवरण :[...

  1. MongoDB संग्रह में सभी नाम प्राप्त करें

    मूल रूप से 18 जनवरी, 2019 को ObjectRocket.com/blog पर प्रकाशित हुआ। अपने स्कीमा को सत्यापित करने के लिए, फ़ील्ड में टाइपो के लिए डीबग करें, या ऐसे फ़ील्ड ढूंढें जिन्हें आपको सेट नहीं करना चाहिए, आपको अपने MongoDB® संग्रह में सभी कुंजियों की समझ की आवश्यकता है। ObjectRocket सहित कई MongoDB-as-a-S

  1. MongoDB संग्रह में सभी कुंजियों के नाम प्राप्त करें

    अपने स्कीमा को सत्यापित करने के लिए, फ़ील्ड में टाइपो के लिए डीबग करें, या ऐसे फ़ील्ड ढूंढें जिन्हें सेट नहीं किया जाना चाहिए, आपको अपने MongoDB संग्रह में सभी कुंजियों की समझ प्राप्त करने की आवश्यकता होगी। कई MongoDB-as-a-service कंपनियाँ UI में इस अधिकार को करने का एक आसान तरीका प्रदान करती हैं,