Definition
$popThe
$popoperator removes the first or last element of an array. Pass$popa value of-1to remove the first element of an array and1to remove the last element in an array.The
$popoperator has the form:{ $pop: { <field>: <-1 | 1>, ... } } To specify a
<field>in an embedded document or in an array, use dot notation.
Behavior
In MongoDB 4.4 and earlier, update operators process document fields in lexicographic order. See Update Operators Behavior for details.
The $pop operation fails if the <field> is not an array.
If the $pop operator removes the last item in the
<field>, the <field> will then hold an empty array.
Examples
Remove the First Item of an Array
Given the following document in a collection students:
{ _id: 1, scores: [ 8, 9, 10 ] }
The following example removes the first element (8) in the
scores array:
db.students.update( { _id: 1 }, { $pop: { scores: -1 } } )
After the operation, the updated document has the first item 8
removed from its scores array:
{ _id: 1, scores: [ 9, 10 ] }
Remove the Last Item of an Array
Given the following document in a collection students:
{ _id: 1, scores: [ 9, 10 ] }
The following example removes the last element (10) in the
scores array by specifying 1 in the $pop expression:
db.students.update( { _id: 1 }, { $pop: { scores: 1 } } )
After the operation, the updated document has the last item 10
removed from its scores array:
{ _id: 1, scores: [ 9 ] }