MongoDB में एग्रीगेशन का उपयोग करके ऐरे से एकल तत्व प्राप्त करना
MongoDB में ऐरे परिणामों से किसी विशिष्ट इंडेक्स पर स्थित तत्व को प्राप्त करने के लिए एग्रीगेशन पाइपलाइन में $skip और $limit ऑपरेटरों का उपयोग करें।
उदाहरण: संग्रह और दस्तावेज़ बनाना
> db.demo391.insertOne({ "_id" : 101, "Name" : "Chris", Values: ["101", "102"] })
{ "acknowledged" : true, "insertedId" : 101 }
> db.demo391.insertOne({ "_id" : 111, "Name" : "Chris", Values: ["101", "102"] })
{ "acknowledged" : true, "insertedId" : 111 }
> db.demo391.insertOne({ "_id" : 121, "Name" : "Chris", Values: ["101", "102"] })
{ "acknowledged" : true, "insertedId" : 121 }
सभी दस्तावेज़ देखना
> db.demo391.find();
आउटपुट:
{ "_id" : 101, "Name" : "Chris", "Values" : [ "101", "102" ] }
{ "_id" : 111, "Name" : "Chris", "Values" : [ "101", "102" ] }
{ "_id" : 121, "Name" : "Chris", "Values" : [ "101", "102" ] }
इंडेक्स द्वारा एकल तत्व प्राप्त करने के लिए क्वेरी
दूसरे दस्तावेज़ (इंडेक्स 2) को प्राप्त करने के लिए:
> var i=2;
> db.demo391.aggregate([
{ $match : {"Name": "Chris"}},
{ $skip : i-1},
{ $limit : 1 }
]);
आउटपुट:
{ "_id" : 111, "Name" : "Chris", "Values" : [ "101", "102" ] }
व्याख्या: $skip: i-1 पहले i-1 दस्तावेज़ों को छोड़ देता है, और $limit: 1 केवल अगले दस्तावेज़ को लौटाता है। यह 1-आधारित इंडेक्सिंग के लिए प्रभावी ढंग से काम करता है।