Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Arreglos

$pop

$pop

El operador $pop remueve el primer o el último elemento de un arreglo. Pasa $pop un valor de -1 para remover el primer elemento de un arreglo y 1 para remover el último elemento de un arreglo.

El operador $pop tiene la forma:

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

Para especificar un <field> en un documento incrustado o en un arreglo, utiliza notación de puntos.

A partir de MongoDB 5.0, los operadores de actualización procesan los campos de documentos con nombres basados en cadenas en orden lexicográfico. Los campos con nombres numéricos se procesan en orden numérico. Consulta Comportamiento del operador de actualización para obtener más información.

La operación $pop falla si el <field> no es un arreglo.

Si el $pop operador remueve el último elemento en el <field>, el <field> contendrá entonces un arreglo vacío.

A partir de MongoDB 5.0, mongod ya no genera un error cuando utiliza un operador de actualización como $pop con una expresión de operando vacía ( { } ). Una actualización vacía no produce cambios y no genera ninguna entrada en el oplog (lo que significa que la operación es una “no-op").

Crear la colección students:

db.students.insertOne( { _id: 1, scores: [ 8, 9, 10 ] } )

El siguiente ejemplo remueve el primer elemento, 8, del arreglo scores:

db.students.updateOne( { _id: 1 }, { $pop: { scores: -1 } } )

Se eliminó el primer elemento, 8, del arreglo scores:

{ _id: 1, scores: [ 9, 10 ] }

Añada el siguiente documento a la colección students:

db.students.insertOne( { _id: 10, scores: [ 9, 10 ] } )

El siguiente ejemplo remueve el último elemento, 10, del arreglo scores especificando 1 en la expresión $pop:

db.students.updateOne( { _id: 10 }, { $pop: { scores: 1 } } )

El último elemento, 10, se ha eliminado de la matriz scores:

{ _id: 10, scores: [ 9 ] }

Tip

Volver

$addToSet

En esta página