$unset (Remover Campos)

Última atualização: 2026-10-09

$unset (Remover Campos)

$unset remove campos especificados dos documentos, mantendo todo o resto. É um atalho para { $project: { campo: 0 } } e pode remover vários campos de uma vez, incluindo caminhos aninhados via notação pontilhada. Útil para limpar campos sensíveis como senhas ou tokens e para limpar campos intermediários.

CategoriaEstágios Principais
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $unset: "<campo>" } ou { $unset: [ "<campo1>", "<campo2>" ] }

⚙️ Parâmetros

campoUm nome de campo, ou uma matriz de nomes de campo, a remover.

Retorno:Fluxo de documentos com os campos especificados removidos

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $unset: remove campos sensíveis e um número de cartão aninhado
db.users.aggregate([
  { $unset: ['password', 'token', 'detail.card'] }
])

Saída:

// Os documentos não carregam mais password, token ou detail.card

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

Q$unset pode remover campos embutidos?
ASim, com caminhos pontilhados como 'detail.card' para atingir um sub-campo.
QComo $unset difere de excluir campos com $project?
ASem diferença real; $unset é açúcar sintático para a projeção de zeros, mais limpo para muitos campos.
QE se $unset atingir um campo ausente?
ASem erro; o documento passa inalterado.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%