Mongodb: agregação
-
Upload
luciano-ramalho -
Category
Technology
-
view
1.551 -
download
54
description
Transcript of Mongodb: agregação
@ramalhoorg
Alternativas de agregação
• Funções de agregação simples:
• count, distinct, group
• Map-reduce
• map: função JS para extrair (chave, valor) de cada doc
• reduce: função JS para agregar os valores para cada chave
@ramalhoorg
Aggregation framework
• A partir do MongoDB 2.2
• Arquitetura de pipeline
@ramalhoorg
Pipeline
• O pipeline é dividido em estágios
• Um estágio realiza uma operação com cada documento que recebe, e pode gerar 0, 1 ou mais documentos para o próximo estágio
• O pipeline pode ser (parcialmente) processado em paralelo em shards
@ramalhoorg
Operações do pipeline
• Projeção: $project
• Seleção: $match, $limit, $skip
• Explosão: $unwind
• Agrupamento: $group
• Ordenação: $sort
• Ordenação e seleção geoespacial: $geoNear (≥2.4)
@ramalhoorg
Exemplos
• http://turing.com.br/material/mongodb/
• https://github.com/oturing/aggregation-by-example
• https://github.com/ramalho/mongosp