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

MongoDB संग्रह में सभी दस्तावेज़ों से केवल एक फील्ड कैसे प्रदर्शित करें?

MongoDB में प्रोजेक्शन क्वेरी परिणामों में कौन से फील्ड शामिल/बहिष्कृत करने हैं, नियंत्रित करता है। एक फील्ड शामिल करने के लिए इसे 1 पर सेट करें; बाहर करने के लिए 0 पर सेट करें। _id डिफ़ॉल्ट रूप से शामिल है; इसे बाहर करने के लिए स्पष्ट रूप से _id: 0 सेट करें।

उदाहरण: छात्र दस्तावेज़

> db.demo384.insertOne({"StudentName":"Chris Brown","StudentCountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5b67a022064be7ab44e7f2") }
> db.demo384.insertOne({"StudentName":"David Miller","StudentCountryName":"AUS"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5b67ab22064be7ab44e7f3") }
> db.demo384.insertOne({"StudentName":"John Doe","StudentCountryName":"UK"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5b67b422064be7ab44e7f4") }

सभी दस्तावेज़ देखना

> db.demo384.find();

आउटपुट: दोनों फील्ड्स + _id के साथ तीन दस्तावेज़।

केवल StudentCountryName प्रोजेक्ट करें (_id, StudentName बाहर करें)

> db.demo384.find({}, { _id: 0, StudentName: 0 });

आउटपुट:

{ "StudentCountryName" : "US" }
{ "StudentCountryName" : "AUS" }
{ "StudentCountryName" : "UK" }

समतुल्य समावेशी सिंटैक्स

> db.demo384.find({}, { _id: 0, StudentCountryName: 1 });

उसी परिणाम के लिए StudentCountryName: 1 (शामिल करें) का उपयोग करता है।

नियम

  • मिश्रण नहीं कर सकते: एक ही प्रोजेक्शन में 1 (शामिल) और 0 (बहिष्कृत) को मिला नहीं सकते, _id: 0 के अपवाद के साथ।
  • _id एकमात्र फील्ड है जिसे स्पष्ट रूप से बाहर किया जा सकता है जबकि अन्य शामिल हैं।
  • नेस्टेड फील्ड्स: { "address.city": 1 }।
  • सरणी प्रोजेक्शन: $elemMatch, $slice, $।

प्रदर्शन

प्रोजेक्शन नेटवर्क ट्रांसफर और प्रसंस्करण कम करता है। कवर्ड क्वेरी के लिए (जहां सभी क्वेरी और प्रोजेक्टेड फील्ड्स एक इंडेक्स में हैं), MongoDB दस्तावेज़ लुकअप को पूरी तरह से छोड़ देता है।

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

    MongoDB 4 में दस्तावेजों को सॉर्ट करने के लिए sort() का उपयोग करें। केवल एक फील्ड दिखाने के लिए, जो सॉर्ट की गई है, उसे 1 पर सेट करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo611.insertOne({Name:Chris}); { acknowledged : true, insertedId : ObjectId(5e987110f6b89257f5584d83) } > d

  1. - नेस्टेड MongoDB डॉक्यूमेंट्स से केवल कीज़ कैसे प्रदर्शित करें?

    आइए एक कलेक्शन बनाते हैं: > db.demo740.insertOne({ details: [ { Name:Chris, Age:21, CountryName:US }, { Name:Bob, Age:20, CountryName:UK, isMarried:true } ] }); { acknowledged : true, insertedId : ObjectId(5ead700c57bb72a10bcf066d) } find() से सभी डॉक्यूमेंट्स देखें: > db.demo740.find(); आउटप

  1. - Java का उपयोग करके MongoDB कलेक्शन से सभी डॉक्यूमेंट्स कैसे प्राप्त करें?

    आप MongoDB में मौजूदा कलेक्शन से find() मेथड का उपयोग करके डॉक्यूमेंट्स प्राप्त कर सकते हैं। सिंटैक्स db.coll.find() जहां, db डेटाबेस है। coll वह कलेक्शन (नाम) है जिससे आप डॉक्यूमेंट्स प्राप्त करना चाहते हैं। उदाहरण मान लें कि MongoDB डेटाबेस में students नामक एक कलेक्शन है जिसमें निम्नलिखित डॉक्