Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / / /

$pop

Nesta página

  • Definição
  • Comportamento
  • Exemplos
$pop

O operador $pop remove o primeiro ou último elemento de uma array. Passar para $pop um valor de -1 para remover o primeiro elemento de uma array e 1 para remover o último elemento em uma array.

O operador $pop tem o formato:

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

Para especificar um <field> em um documento incorporado ou em uma array, use notação de ponto de ponto.

A partir do MongoDB 5.0, os operadores de atualização processam campos de documento com nomes baseados em cadeia de caracteres em ordem lexicográfica. Os campos com nomes numéricos são processados em ordem numérica. Consulte Atualizar Comportamento de Operadores para detalhes.

A operação $pop falhará se o <field> não for uma array.

Se o operador $pop remover o último item do <field>, <field> manterá uma array vazia.

A partir do MongoDB 5.0, mongod não gera mais um erro ao usar um operador de atualização como $pop com uma expressão de operando vazia ( { } ). Uma atualização vazia não resulta em alteração e nenhuma entrada no oplog é criada (o que significa que é sem operação).

Crie a coleção students:

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

O exemplo seguinte remove o primeiro elemento, 8, da array scores:

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

O primeiro elemento, 8, foi removido da array scores:

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

Adicione o seguinte documento à coleção students:

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

O exemplo seguinte remove o último elemento, 10, da array scores especificando 1 na expressão $pop:

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

O último elemento, 10, foi removido da array scores:

{ _id: 10, scores: [ 9 ] }

Dica

Veja também:

Voltar

$addToSet