विशिष्ट फ़ील्ड वापस करने के लिए, कुल $प्रोजेक्ट का उपयोग करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> db.returnSpecificFieldDemo.insertOne( { "StudentId":1, "StudentDetails":[ { "StudentName":"Larry", "StudentAge":21, "StudentCountryName":"US" }, { "StudentName" :"Chris", "StudentAge":23, "StudentCountryName":"AUS" } ] });{ "स्वीकृत" :सच, "insertId" :ObjectId("5ce23d3236e8b255a5eee943")}
खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> db.returnSpecificFieldDemo.find().pretty();
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "_id" :ObjectId("5ce23d3236e8b255a5eee943"), "StudentId" :1, "StudentDetails" :[ { "StudentName" :"Larry", "StudentAge" :21, "StudentCountryName" :"US" }, { "StudentName" :"Chris", "StudentAge" :23, "StudentCountryName" :"AUS" } ]}
एक सरणी से विशिष्ट क्षेत्रों को वापस करने के लिए क्वेरी निम्नलिखित है -
> db.returnSpecificFieldDemo.aggregate([{$project:{_id:0, StudentId:'$StudentId', StudentCountryName:{ $arrayElemAt:['$StudentDetails.StudentCountryName',1] }}}]);यह निम्नलिखित आउटपुट उत्पन्न करेगा -
{ "StudentId" :1, "StudentCountryName" :"AUS" }