$out (Saída)

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

$out (Saída)

$out grava os resultados do pipeline em uma coleção nomeada, substituindo todo o conteúdo anterior; o destino é criado automaticamente se não existir. Ele deve ser o estágio final e não pode ser combinado com $merge. Ele bloqueia a coleção durante a gravação e substitui completamente os dados, então serve para relatórios offline e tabelas de cache. $out ganhou suporte a gravação entre bancos de dados no MongoDB 4.4.

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

📝 Sintaxe

{ $out: "<collection>" }

⚙️ Parâmetros

coleção de destinoNome da coleção na qual gravar.

Retorno:Nenhum documento continua; os resultados são gravados na coleção de destino

▶ Exemplo

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

// $out: exporta pedidos de 2024 para uma nova coleção
db.orders.aggregate([
  { $match: { year: 2024 } },
  { $out: 'orders_2024' }
])

Saída:

// orders_2024 é totalmente substituída

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

Q$out sobrescreve uma coleção existente?
ASim, a coleção inteira é substituída; em caso de falha, o original é mantido.
QDevo usar $out ou $merge?
AUse $out para substituição completa; $merge para atualizações incrementais e mesclagem por chave.
Q$out pode gravar em outro banco de dados?
ADesde o MongoDB 4.4, escreva como 'otherdb.coll'.
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%