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

MongoDB संग्रह में ऑब्जेक्ट सरणी में केवल पूछे गए तत्व को पुनर्प्राप्त करें?

<घंटा/>

आप MongoDB संग्रह में ऑब्जेक्ट सरणी में पूछे गए तत्व में फ़िल्टर करने के लिए प्रोजेक्शन ऑपरेटर $elemMatch का उपयोग कर सकते हैं। MongoDB में ऑब्जेक्ट ऐरे में केवल क्वेरी किए गए तत्व को पुनः प्राप्त करने के लिए, आइए पहले हम दस्तावेज़ ऑब्जेक्ट ऐरे के साथ एक संग्रह बनाएं।

क्वेरी इस प्रकार है:

> db.objectArray.insert({"Persons":[
   {"PersonName":"Adam","PersonSalary":25000},{"PersonName":"Larry","PersonSalary":27000
   }]});
   WriteResult({ "nInserted" : 1 })
> db.objectArray.insert({"Persons":[
   {"PersonName":"David","PersonSalary":32000},{"PersonName":"Carol","PersonSalary":77000
   }]});
   WriteResult({ "nInserted" : 1 })

अब आप फाइंड () की मदद से सभी दस्तावेजों को प्रदर्शित कर सकते हैं। क्वेरी इस प्रकार है:

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

निम्न आउटपुट है:

{
   "_id" : ObjectId("5c6bfadc68174aae23f5ef53"),
   "Persons" : [
      {
         "PersonName" : "Adam",
         "PersonSalary" : 25000
      },
      {
         "PersonName" : "Larry",
         "PersonSalary" : 27000
      }
   ]
}
{
   "_id" : ObjectId("5c6bfb0968174aae23f5ef54"),
   "Persons" : [
      {
         "PersonName" : "David",
         "PersonSalary" : 32000
      },
      {
         "PersonName" : "Carol",
         "PersonSalary" : 77000
      }
   ]
}

यहाँ MongoDB में किसी ऑब्जेक्ट सरणी में केवल पूछे गए तत्व को पुनः प्राप्त करने की क्वेरी है। यहां _id:0 . में आईडी प्रॉपर्टी को बाहर करने के लिए जोड़ा जाता है (_id प्रॉपर्टी न दिखाएं):

> db.objectArray.find({"Persons.PersonSalary":25000}, {
_id:0,Persons:{$elemMatch:{"PersonSalary":25000}}}).pretty();

निम्न आउटपुट है:

{
   "Persons" : [
      {
         "PersonName" : "Adam",
         "PersonSalary" : 25000
      }
   ]
}

उपरोक्त कार्य को करने का वैकल्पिक तरीका प्रोजेक्शन ऑपरेटर $. क्वेरी इस प्रकार है:

> db.objectArray.find({"Persons.PersonSalary":25000}, { _id:0,'Persons.$':1}).pretty();

निम्न आउटपुट है:

{
   "Persons" : [
      {
         "PersonName" : "Adam",
         "PersonSalary" : 25000
      }
   ]
}

  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

  1. MongoDB संग्रह में अधिकतम तत्व प्राप्त करें?

    संग्रह से अधिकतम तत्व प्राप्त करने के लिए, सीमा के साथ अवरोही क्रम में क्रमबद्ध करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > > db.demo669.insertOne({"Marks":76}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea3133c04263e90d

  1. सरणी के केवल एक तत्व को टुकड़ा करने के लिए MongoDB क्वेरी

    सरणी के केवल एक तत्व को स्लाइस करने के लिए, MongoDB में $slice का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo579.insertOne( ...    { ...       "_id" : 101, ...       "details" : { "FirstName" : "John"