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}})

Entradas relacionadas: