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 })

अब आप find() की मदद से सभी डॉक्यूमेंट्स प्रदर्शित कर सकते हैं। क्वेरी इस प्रकार है:

> 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,Quantity:7}]}); { acknowledged : true, insertedId : ObjectId(5e882ed6987b6e0e9d18f576) } find() मेथड की मद

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

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

  1. - MongoDB क्वेरी: ऐरे के केवल एक एलिमेंट को स्लाइस करें

    ऐरे के केवल एक एलिमेंट को स्लाइस करने के लिए, MongoDB में $slice का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo579.insertOne( { _id: 101, details: { FirstName: John }, Marks: [56,78,90,34,45,74] } ); { acknowledged : true, insertedId : 101 }