Mongodb: agregação

2.429 visualizações

Publicada em

Palestra apresentada no encontro do MUG-SP (MongoDB Users Group) no escritório do Google em São Paulo

Publicada em: Tecnologia

Mongodb: agregação

  1. 1. Agregaçãoem MongoDBaggregation frameworketc.Luciano Ramalholuciano@ramalho.org@ramalhoorgmaio/2013
  2. 2. @ramalhoorgAlternativas de agregação• Funções de agregação simples:• count, distinct, group• Map-reduce• map: função JS para extrair (chave, valor) de cadadoc• reduce: função JS para agregar os valores paracada chave
  3. 3. @ramalhoorgAggregation framework• A partir do MongoDB 2.2• Arquitetura de pipeline
  4. 4. @ramalhoorgPipeline• O pipeline é dividido em estágios• Um estágio realiza uma operação com cadadocumento que recebe, e pode gerar 0, 1 ou maisdocumentos para o próximo estágio• O pipeline pode ser (parcialmente) processado emparalelo em shards
  5. 5. @ramalhoorgOperaçõ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)
  6. 6. @ramalhoorgExemplos• http://turing.com.br/material/mongodb/• https://github.com/oturing/aggregation-by-example• https://github.com/ramalho/mongosp

×