$slice प्रोजेक्शन ऑपरेटर
किसी सरणी फील्ड से केवल **पहला N तत्व** लौटाने के लिए (और वैकल्पिक रूप से उन तत्वों के विशिष्ट फील्ड), find() के प्रोजेक्शन में $slice ऑपरेटर का उपयोग करें।
उदाहरण: डेटा डालना
> db.firstElementOfArray.insertOne(
... {
... _id: 100,
... "Details": [
... { "CustomerName": "John", "CustomerCountryName": "US" }
... ]
... }
... );
{ "acknowledged" : true, "insertedId" : 100 }
> db.firstElementOfArray.insertOne(
... {
... _id: 101,
... "Details": [
... { "CustomerName": "Carol", "CustomerCountryName": "UK" },
... { "CustomerName": "David", "CustomerCountryName": "AUS" }
... ]
... }
... );
{ "acknowledged" : true, "insertedId" : 101 }
दस्तावेज़ देखना
> db.firstElementOfArray.find().pretty();
आउटपुट:
प्रत्येक दस्तावेज़ में सरणी का पहला तत्व प्रोजेक्ट करना
> db.firstElementOfArray.find({}, {'Details': {$slice: 1}, 'Details.CustomerName': 1}).pretty();आउटपुट:
व्याख्या:
{$slice: 1}: सरणी के पहले 1 तत्व को रखता है।'Details.CustomerName': 1: उस तत्व के अंदर केवल CustomerName फील्ड शामिल करता है।
विविधताएं: {$slice: -1} अंतिम तत्व देता है। {$slice: [skip, limit]} छोड़ने और सीमित करने की अनुमति देता है।