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

MongoDB क्वेरी वैकल्पिक दस्तावेज़ों को mapReduce () फ़ंक्शन के साथ प्रदर्शित करने के लिए और यहां तक ​​कि फ़ील्ड मानों का उत्सर्जन करने के लिए

<घंटा/>

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

> db.demo636.insert({id:1});
WriteResult({ "nInserted" : 1 })
> db.demo636.insert({id:2});
WriteResult({ "nInserted" : 1 })
> db.demo636.insert({id:3});
WriteResult({ "nInserted" : 1 })
> db.demo636.insert({id:4});
WriteResult({ "nInserted" : 1 })
> db.demo636.insert({id:5});
WriteResult({ "nInserted" : 1 })
> db.demo636.insert({id:6});
WriteResult({ "nInserted" : 1 })

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

> db.demo636.find();

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

{ "_id" : ObjectId("5e9c127b6c954c74be91e6d2"), "id" : 1 }
{ "_id" : ObjectId("5e9c127e6c954c74be91e6d3"), "id" : 2 }
{ "_id" : ObjectId("5e9c127f6c954c74be91e6d4"), "id" : 3 }
{ "_id" : ObjectId("5e9c12816c954c74be91e6d5"), "id" : 4 }
{ "_id" : ObjectId("5e9c12836c954c74be91e6d6"), "id" : 5 }
{ "_id" : ObjectId("5e9c12896c954c74be91e6d7"), "id" : 6 }

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

> db.demo636.mapReduce(
...    function () {
...       oddCounter++;
...       var id= this._id;
...       delete this._id;
...       if ( oddCounter % d != 0 )
...       emit(id, this );
...    },
...    function() {},
...    {
...       "scope": { "oddCounter": 0, "d": 2 },
...       "out": { "inline": 1 }
...    }
... )

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

{
   "results" : [
      {
         "_id" : ObjectId("5e9c127b6c954c74be91e6d2"),
         "value" : {
            "id" : 1
      }
   },
   {
      "_id" : ObjectId("5e9c127f6c954c74be91e6d4"),
      "value" : {
         "id" : 3
      }
   },
   {
      "_id" : ObjectId("5e9c12836c954c74be91e6d6"),
      "value" : {
         "id" : 5
      }
   }
],
"timeMillis" : 29,
"counts" : {
   "input" : 6,
   "emit" : 3,
   "reduce" : 0,
   "output" : 3
   },
"ok" : 1
}

  1. MongoDB क्वेरी एक विशिष्ट मान से अधिक सरणी मान वाले दस्तावेज़ों से मिलान करने के लिए

    आप $elemMatch का उपयोग कर सकते हैं। $elemMatch ऑपरेटर उन दस्तावेज़ों से मेल खाता है जिनमें कम से कम एक तत्व के साथ एक सरणी फ़ील्ड होता है जो सभी निर्दिष्ट क्वेरी मानदंडों से मेल खाता है। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo701.insertOne({"ListOfValues":[100,200,300]}); { &

  1. मैं MongoDB 4 में दस्तावेज़ों को कैसे सॉर्ट कर सकता हूँ और केवल एक ही फ़ील्ड प्रदर्शित कर सकता हूँ?

    MongoDB 4 में दस्तावेज़ों को सॉर्ट करने के लिए, सॉर्ट () का उपयोग करें। केवल एक ही फ़ील्ड दिखाने के लिए, जिसे सॉर्ट किया गया है, इसे 1 पर सेट करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo611.insertOne({Name:Bob});{ acknowledgeed :true, insertedId:ObjectId(5e98711bf6b89257f)} संग्रह से सभी

  1. एक सूत्र के साथ संग्रह में दस्तावेजों के प्रत्येक क्षेत्र को अद्यतन करने के लिए MongoDB क्वेरी?

    संग्रह में दस्तावेज़ों के प्रत्येक फ़ील्ड को सूत्र के साथ अद्यतन करने के लिए, MongoDB अद्यतन () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo749.insertOne({"details":[{"id":1,a:10},{"id":2,a:5},{"id":3,a:20}]}); {    "ackno