O MongoDB reconhece esse comportamento, mas também diz que está funcionando conforme projetado.
Foi registrado como um bug no MongoDB JIRA, O estágio de agregação $out não tem efeito , e as respostas dizem que não é uma falha:
Então, parece que você precisa chamar um dos métodos para começar a iterar o cursor antes de
$out fará qualquer coisa. Adicionando .toArray() , como você já está fazendo, é provavelmente o mais seguro. Observe que to.Array() não carrega o resultado inteiro na RAM normalmente; porque inclui um $out , a agregação retorna um cursor vazio
.