MongoDB Projection Operator - $slice
Description
In MongoDB, the $slice operator decide the retrieval of a number of items of an array that a query returns. The $slice accepts a number including a negative number as an argument and returns the output. The argument can be the form of skip and limit, that means the $slice operator retrieve the number of items specified in the limit from the array to skip a specific of a number of items.
Syntax:
db.collection.find( { field: value }, { array: {$slice: count| [skip, limit] } } );
Parameters:
Name | Description |
---|---|
collection | name of the collection. |
field | name of the field or column. |
array | name of the array types field or column. |
count | number of items to be retrieved from the array. If a number of counts is more than the number of items in the array, then all the items will be retrieved from the array. |
skip | a number of items to skip from the array. |
limit | number or items to be retrieved from the array. |
Our database name is 'myinfo' and our collection name is 'table2'. Here, is the collection bellow.
Sample collection "table2"
Example - 1 of MongoDB Projection Operator - $slice
If we want to select all documents from the collection "table2" which satisfying the conditions -
The student_id is "STU001"
Display the score of first 3 subjects
the following mongodb command can be used :
N.B. find() method displays the documents in a non structured format but to display the results in a formatted way, the pretty() method can be used.
Output:
{ "_id" : ObjectId("52860b2cf313832c9a6f1018"), "student_id" : "STU001", "sem" : "sem1", "score" : [ 45, 59, 75 ] }
Example - 2 of MongoDB Projection Operator - $slice
If we want to select all documents from the collection "table2" which satisfying the conditions -
display the score of first 3 subjects for all students.
the following mongodb command can be used :
N.B. find() method displays the documents in a non structured format but to display the results in a formatted way, the pretty() method can be used.
Output:
{ "_id" : ObjectId("52860b2cf313832c9a6f1018"), "student_id" : "STU001", "sem" : "sem1", "score" : [ 45, 59, 75 ] } { "_id" : ObjectId("52860b81f313832c9a6f1019"), "student_id" : "STU002", "sem" : "sem1", "score" : [ 55, 69, 57 ] }
Example - 3 of MongoDB Projection Operator - $slice
If we want to select all documents from the collection "table1" which satisfying the conditions -
Display the score of fourth and fifth subject for all the students.
the following mongodb command can be used :
N.B. find() method displays the documents in a non structured format but to display the results in a formatted way, the pretty() method can be used.
Output:
{ "_id" : ObjectId("52860b2cf313832c9a6f1018"), "student_id" : "STU001", "sem" : "sem1", "score" : [ 67, 52 ] } { "_id" : ObjectId("52860b81f313832c9a6f1019"), "student_id" : "STU002", "sem" : "sem1", "score" : [ 76, 63 ] }
Previous:
$elemMatch (projection)
Next:
Field Update Operators $inc
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics