Exercícios de MongoDB: Agregações e Operadores
Classificado em Economia
Escrito em em
português com um tamanho de 2,59 KB
44) Agora repita usando $push e observe a diferença dos resultados;
db.departamentos.update({'Descrição': 'Sistemas de Informação'}, {$push: {'Disciplinas': 'BD1'}})
45) Para a base de dados 'loja', faça a consulta que mostra a variedade de itens que existem no estoque (quantos itens distintos existem, e não quantos de cada um existem no estoque), a soma das quantidades existentes no estoque e a média de itens existentes;
db.estoque.aggregate({$group: {_id: null, total: {$sum: 1}, soma: {$sum: '$quantidade'}, média: {$avg: '$quantidade'}}})
46) Retorne o primeiro e o último itens cadastrados;
db.estoque.aggregate({$group: {_id: null, primeiro: {$first: '$item'}, último: {$last: '$item'}}})
47) Mostre o item com maior quantidade de unidades em estoque e com a menor quantidade. Mostre também o maior preço e o menor preço;
db.estoque.aggregate({$group: {_id: null, item_max: {$max: '$quantidade'}, item_min: {$min: '$quantidade'}, maior_preço: {$max: '$preço'}, menor_preço: {$min: '$preço'}}})
48) Para cada fornecedor, mostre qual a maior e a menor quantidade de itens e também o maior e o menor preço;
db.estoque.aggregate({$group: {_id: '$fornecedor', item_max: {$max: '$quantidade'}, item_min: {$min: '$quantidade'}, maior_preço: {$max: '$preço'}, menor_preço: {$min: '$preço'}}})
49) Para cada medida, mostre qual o primeiro e o último itens que foram cadastrados;
db.estoque.aggregate({$group: {_id: '$medida', primeiro: {$first: '$item'}, último: {$last: '$item'}}})
50) Para cada medida, mostre a maior quantidade de itens em estoque e a média de itens e quantos itens de cada medida existem;
db.estoque.aggregate({$group: {_id: '$medida', soma: {$sum: '$quantidade'}, média: {$avg: '$quantidade'}, total: {$sum: 1}}})
51) Crie a consulta que, para cada fornecedor e para cada medida, mostra a média dos preços dos itens;
db.estoque.aggregate({$group: {_id: {forn: '$fornecedor', med: '$medida'}, média: {$avg: '$preço'}}})
52) Mostre, por medida, o maior preço, o menor preço e a média das quantidades, ordenando a saída em ordem crescente de medida;
db.estoque.aggregate({$group: {_id: '$medida', maior: {$max: '$preço'}, menor: {$min: '$preço'}, média: {$sum: '$quantidade'}}}, {$sort: {_id: 1}})