$unionWith (União)

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

$unionWith (União)

$unionWith mescla os resultados acumulados do pipeline com documentos de outra coleção (ou da mesma), opcionalmente pré-processando essa coleção com um sub-pipeline. A saída padrão é a união sem deduplicação. Ótimo para combinar coleções em um único fluxo de relatório; documentos com formatos diferentes simplesmente coexistem.

CategoriaAvançado e Diagnóstico
Versão do MongoDB4.4+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $unionWith: { coll: "<collection>", pipeline: [ <sub-pipeline> ] } }

⚙️ Parâmetros

collColeção de destino com a qual unir.
pipelineSubpipeline opcional que pré-processa a coleção de destino.

Retorno:Fluxo de documentos mesclado de ambas as fontes

▶ Exemplo

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

// $unionWith: mescla q2 em q1, filtrado
db.q1.aggregate([
  { $unionWith: { coll: 'q2', pipeline: [{ $match: { active: true } }] } }
])

Saída:

// Resultados de q1 mais documentos ativos de q2

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

Q$unionWith deduplica?
ANão. Ele une as duas fontes; duplicatas podem aparecer.
QO sub-pipeline pode ordenar?
ASim, com estágios normais, exceto $out, $merge e $facet.
QEle pode unir a mesma coleção duas vezes?
ASim, aponte coll para a coleção atual para uma autounião.
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%