4.3 Método aggregate()

O método aggregate() do MongoDB calcula valores agregados para os dados em uma coleção ou visão. Sua sintaxe é:

db.coleção.aggregate(pipeline, opções)

onde pipeline é uma sequência de operações, ou etapas de agregação de dados, e opções são opções adicionais que o método passa para o comando aggregate.

4.3.1. Agrupar os documentos por título, e mostrar os títulos que aparecem mais de uma vez, ordenados por quantidade e título

> db.pages.aggregate( [
...    {
...      $group: {
...         _id: "$title",
...         count: { $sum: 1 }
...      }
...    },
...    { $match: { count: { $gt: 1 } } },
...    { $sort: {  count: 1, "_id": 1} }
... ] );
{ "_id" : "Avenida Central", "count" : 2 }
{ "_id" : "Casa da Ópera", "count" : 2 }
{ "_id" : "Chafariz da Praça Quinze de Novembro", "count" : 2 }
{ "_id" : "Chafariz da Praça São Salvador", "count" : 2 }
{ "_id" : "Chafariz das Saracuras", "count" : 2 }
{ "_id" : "Cidade Nova", "count" : 2 }
{ "_id" : "Copacabana", "count" : 2 }
{ "_id" : "Igreja de São Francisco de Paula", "count" : 2 }
{ "_id" : "Morro da Viúva", "count" : 2 }
{ "_id" : "Ouro Preto", "count" : 2 }
{ "_id" : "Santa Luzia", "count" : 2 }
{ "_id" : "São Roque", "count" : 2 }
{ "_id" : "Chafariz das Marrecas", "count" : 3 }
{ "_id" : "Quinta da Boa Vista", "count" : 3 }
{ "_id" : "Floresta da Tijuca", "count" : 4 }
{ "_id" : "Largo da Carioca", "count" : 4 }
{ "_id" : "Canal do Mangue", "count" : 5 }
{ "_id" : "Passeio Público", "count" : 5 }
{ "_id" : "Jardim Botânico do Rio de Janeiro", "count" : 7 }
>

4. Consultas ao texto