MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Visualize o progresso do trabalho de agregação mongodb de longa duração


Se você usar o $out operador de pipeline de agregação para gerar o resultado da agregação para outro (ou o mesmo ), você pode abrir um novo shell mongo e ver quantos documentos estão na nova coleção. Se você estiver substituindo a coleção da qual está agregando, o MongoDB usará um nome de coleção temporário para tornar a operação atômica, como tmp.agg_out.1 . Então, corra
db['tmp.agg_out.1'].count()

Para descobrir o nome exato da coleção temporária, você pode seguir o MongoDB atual log e observe as mensagens sobre a agregação. mLab e outros provedores de hospedagem MongoDB na nuvem também podem ter uma opção útil de "stream current log".

Por exemplo, ao executar a consulta em esta resposta , as mensagens de log relevantes podem ter esta aparência:

(Eu esperava que nInserted ou keysInserted indicaria progresso, mas não parece ser o caso; a contagem dos documentos na coleção temporária foi um indicador de progresso muito mais preciso.)