MongoDB Aggregate के साथ ऐरे का पहला तत्व प्राप्त करना
ऐरे में पहला तत्व प्राप्त करने के लिए $unwind ऑपरेटर का उपयोग $project के साथ करें। आइए दस्तावेज़ों के साथ एक कलेक्शन बनाते हैं। निम्नलिखित क्वेरी है:
>db.getFirstElementInArrayDemo.insertOne({"StudentName":"John","StudentSubject":["MongoDB","Python","MySQL"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c9c41292d6669774125244e") }
>db.getFirstElementInArrayDemo.insertOne({"StudentName":"Chris","StudentSubject":["Java","C"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c9c413f2d6669774125244f") }
>db.getFirstElementInArrayDemo.insertOne({"StudentName":"Robert","StudentSubject":["C++","Ruby"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c9c41532d66697741252450") }
find() मेथड से सभी दस्तावेज़ प्रदर्शित करना
> db.getFirstElementInArrayDemo.find().pretty();
यह निम्नलिखित आउटपुट देगा:
{ "_id" : ObjectId("5c9c41292d6669774125244e"), "StudentName" : "John", "StudentSubject" : [ "MongoDB", "Python", "MySQL" ] }
{ "_id" : ObjectId("5c9c413f2d6669774125244f"), "StudentName" : "Chris", "StudentSubject" : [ "Java", "C" ] }
{ "_id" : ObjectId("5c9c41532d66697741252450"), "StudentName" : "Robert", "StudentSubject" : [ "C++", "Ruby" ] }
Aggregate का उपयोग करके ऐरे में पहला तत्व प्राप्त करने का क्वेरी
> db.getFirstElementInArrayDemo.aggregate([
{$unwind:"$StudentSubject"},
{$group:{"_id":"$_id","FirstElement":{$first:"$StudentSubject"}}},
{$project:{"_id":0,"FirstElement":1}}
]);
यह निम्नलिखित आउटपुट देगा:
{ "FirstElement" : "Java" }
{ "FirstElement" : "C++" }
{ "FirstElement" : "MongoDB" }
वैकल्पिक: find() में $slice ऑपरेटर का उपयोग करके पहला तत्व प्राप्त करना
> db.getFirstElementInArrayDemo.find({},{ "StudentSubject":{$slice:1} });
यह निम्नलिखित आउटपुट देगा:
{ "_id" : ObjectId("5c9c41292d6669774125244e"), "StudentName" : "John", "StudentSubject" : [ "MongoDB" ] }
{ "_id" : ObjectId("5c9c413f2d6669774125244f"), "StudentName" : "Chris", "StudentSubject" : [ "Java" ] }
{ "_id" : ObjectId("5c9c41532d66697741252450"), "StudentName" : "Robert", "StudentSubject" : [ "C++" ] }