Docs Menu

$pop

On this page

  • Definition
  • Behavior
  • Examples
$pop

The $pop operator removes the first or last element of an array. Pass $pop a value of -1 to remove the first element of an array and 1 to remove the last element in an array.

The $pop operator has the form:

{ $pop: { <field>: <-1 | 1>, ... } }

To specify a <field> in an embedded document or in an array, use dot notation.

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.

Starting in MongoDB 5.0, mongod no longer raises an error when you use an update operator like $pop with an empty operand expression ( { } ). An empty update results in no changes and no oplog entry is created (meaning that the operation is a no-op).

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 ] }

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 ] }
Tip
See also:
←  $addToSet$pull →
Give Feedback
© 2021 MongoDB, Inc.

About

  • Careers
  • Legal Notices
  • Privacy Notices
  • Security Information
  • Trust Center
© 2021 MongoDB, Inc.