MongoDB में, आप उप-संग्रह के लिए कैप्ड का उपयोग नहीं कर सकते। हालाँकि, समग्र दस्तावेज़ पर छाया हुआ उपयोग करें। किसी सरणी से विशिष्ट संख्या में मान प्रदर्शित करने के लिए, $slice को प्राथमिकता दें।
आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo319.insertOne({"Scores":[100,345,980,890]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e50ecf6f8647eb59e562064")
}
> db.demo319.insertOne({"Scores":[903,10004,84575,844]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e50ed01f8647eb59e562065")
} संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo319.find().pretty();
यह निम्नलिखित आउटपुट देगा -
{
"_id" : ObjectId("5e50ecf6f8647eb59e562064"),
"Scores" : [
100,
345,
980,
890
]
}
{
"_id" : ObjectId("5e50ed01f8647eb59e562065"),
"Scores" : [
903,
10004,
84575,
844
]
} एक सरणी में छायांकित उप-संग्रह के लिए निम्नलिखित क्वेरी है -
> db.demo319.aggregate([
... { $project: {TwoScores: { $slice: [ "$Scores", 2 ] } } }
... ]) यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e50ecf6f8647eb59e562064"), "TwoScores" : [ 100, 345 ] }
{ "_id" : ObjectId("5e50ed01f8647eb59e562065"), "TwoScores" : [ 903, 10004 ] }