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

$unset (agregação)

Nesta página

  • Definição
  • Sintaxe
  • Considerações
  • Exemplos

Observação

Desambiguação

A página seguinte se refere ao estágio de aggregation $unset. Para o operador de atualização $unset, consulte $unset.

$unset

Remove/exclui campos dos documentos.

O estágio $unset tem a seguinte sintaxe:

  • Para remover um único campo, $unset utiliza uma string que especifica o campo para remover:

    { $unset: "<field>" }
  • Para remover vários campos, $unset recebe uma array de campos a serem removidos.

    { $unset: [ "<field1>", "<field2>", ... ] }

$unset é um apelido do estágio $project que remove/exclui campos:

{ $project: { "<field1>": 0, "<field2>": 0, ... } }

Para remover/excluir um campo ou campos em um documento incorporado, você pode usar a notação de ponto, como em:

{ $unset: "<field.nestedfield>" }

ou

{ $unset: [ "<field1.nestedfield>", ...] }

Criar uma coleção books de amostra com os seguintes documentos:

db.books.insertMany([
{ "_id" : 1, title: "Antelope Antics", isbn: "0001122223334", author: { last:"An", first: "Auntie" }, copies: [ { warehouse: "A", qty: 5 }, { warehouse: "B", qty: 15 } ] },
{ "_id" : 2, title: "Bees Babble", isbn: "999999999333", author: { last:"Bumble", first: "Bee" }, copies: [ { warehouse: "A", qty: 2 }, { warehouse: "B", qty: 5 } ] }
])

O exemplo a seguir remove o campo de nível superior copies:

db.books.aggregate([ { $unset: "copies" } ])

Alternativamente, você também pode usar a seguinte sintaxe:

db.books.aggregate([ { $unset: [ "copies" ] } ])

Qualquer operação retorna os seguintes documentos:

{ "_id" : 1, "title" : "Antelope Antics", "isbn" : "0001122223334", "author" : { "last" : "An", "first" : "Auntie" } }
{ "_id" : 2, "title" : "Bees Babble", "isbn" : "999999999333", "author" : { "last" : "Bumble", "first" : "Bee" } }

O exemplo a seguir remove os campos de nível superior isbn e copies:

db.books.aggregate([
{ $unset: [ "isbn", "copies" ] }
])

A operação $unset gera os seguintes documentos:

{ "_id" : 1, "title" : "Antelope Antics", "author" : { "last" : "An", "first" : "Auntie" } }
{ "_id" : 2, "title" : "Bees Babble", "author" : { "last" : "Bumble", "first" : "Bee" } }

O exemplo a seguir remove o campo de nível superior isbn, o campo incorporado first (do documento name) e o campo incorporado warehouse (dos elementos na array copies):

db.books.aggregate([
{ $unset: [ "isbn", "author.first", "copies.warehouse" ] }
])

A operação $unset gera os seguintes documentos:

{ "_id" : 1, "title" : "Antelope Antics", "author" : { "last" : "An" }, "copies" : [ { "qty" : 5 }, { "qty" : 15 } ] }
{ "_id" : 2, "title" : "Bees Babble", "author" : { "last" : "Bumble" }, "copies" : [ { "qty" : 2 }, { "qty" : 5 } ] }
← $unionWith (agregação)