$replaceWith (Substituir Com)

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

$replaceWith (Substituir Com)

$replaceWith é como $replaceRoot, mas tolera resultados null ou ausentes, mantendo o documento original em vez de falhar. Ele se encaixa em cenários de promover-se-possível. Todo o resto segue a semântica de $replaceRoot.

CategoriaEstágios Principais
Versão do MongoDB4.2+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $replaceWith: <expressão de documento> }

⚙️ Parâmetros

expressão de documentoExpressão cujo resultado substitui o documento; pode ser null ou ausente.

Retorno:Fluxo de documentos substituído (o original é mantido quando o resultado é null)

▶ Exemplo

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

// $replaceWith: promove detail quando presente
db.orders.aggregate([
  { $replaceWith: '$detail' }
])

Saída:

// Pedidos com detail o emitem; os outros passam inalterados

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre $replaceWith e $replaceRoot?
A$replaceWith emite o documento original quando o resultado é null; $replaceRoot gera erro.
QComo mesclo vários campos em um novo documento?
ACombine com $mergeObjects, ex.: { $replaceWith: { $mergeObjects: ['$a', '$b'] } }.
Q$replaceWith mantém _id?
ANão, a menos que a expressão inclua _id explicitamente.
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%