/ Tecnologia
/ Integração do …
/ 5.3 Método …
5.3 Método aggregate()
Consultas ao texto
O método aggregate() do MongoDB calcula valores agregados para os dados em uma coleção ou visão. Sua definição é:
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.
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" : "6.1 Python", "count" : 2 }
{ "_id" : "6.2 Ruby", "count" : 2 }
{ "_id" : "6.3 PHP", "count" : 2 }
{ "_id" : "6.4 C", "count" : 2 }
{ "_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" : "Igrejinha de Copacabana", "count" : 2 }
{ "_id" : "Morro da Viúva", "count" : 2 }
{ "_id" : "Ouro Preto", "count" : 2 }
{ "_id" : "Santa Luzia", "count" : 2 }
{ "_id" : "São Cristóvão", "count" : 2 }
{ "_id" : "São Roque", "count" : 2 }
{ "_id" : "São Sebastião", "count" : 2 }
{ "_id" : "Chafariz das Marrecas", "count" : 3 }
Type "it" for more
> it
{ "_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 }