यदि आप ऐरे से पहला एलिमेंट चाहते हैं, तो $slice के साथ $gte का उपयोग कर सकते हैं।
नमूना डेटा बनाना
> db.demo640.insertOne({Name:"John","Scores":[80,90,75]});
> db.demo640.insertOne({Name:"Chris","Scores":[85,70,89]});
सभी दस्तावेज़ देखना
> db.demo640.find();
{ "Name" : "John", "Scores" : [ 80, 90, 75 ] }
{ "Name" : "Chris", "Scores" : [ 85, 70, 89 ] }
$slice का उपयोग करके पहला एलिमेंट प्रोजेक्ट करने की क्वेरी
> db.demo640.find({Scores:{$gte:85}},{ "Scores": {$slice : 1}});
परिणाम (केवल पहला स्कोर दिखाता है):
{ "Name" : "John", "Scores" : [ 80 ] }
{ "Name" : "Chris", "Scores" : [ 85 ] }
नोट: क्वेरी {Scores:{$gte:85}} उन दस्तावेज़ों को ढूंढती है जहां Scores ऐरे में कम से कम एक मान 85 या उससे अधिक है। फिर {$slice: 1} केवल पहला एलिमेंट लौटाता है। John के लिए पहला एलिमेंट 80 है (भले ही 90 >= 85 हो)। यदि आप ऐरे में पहले >=85 वाले एलिमेंट को चाहते हैं, तो एग्रीगेशन पाइपलाइन की आवश्यकता होगी।