/commerce-mongodb

Nesse projeto foi trabalhado com o banco de dados MongoDB

Primary LanguageJavaScript

Projeto Commerce

Nesse projeto foi trabalhado com o banco de dados commerce, que contém dados do cardápio do McDonald's, como ingredientes, valores nutricionais e dados fictícios de vendas. As instruções de como restaurar o banco podem ser lidas a seguir.

1 - Retorne a quantidade de documentos inseridos na coleção produtos Para isso, escreva a query no arquivo desafio1.js

2 - Ordene a coleção produtos pela quantidade de lanches vendidos em ordem crescente, mostrando apenas o nome e a quantidade de lanches vendidos Para isso, escreva a query no arquivo desafio2.js

3 - Retorne o lanche mais vendido, mostrando apenas o nome e a quantidade do lanche mais vendido Para isso, escreva a query no arquivo desafio3.js

4 - Retorne os lanches que tiveram vendas maiores que 50 e menores que 100, mostrando apenas o nome e a quantidade de lanches vendidos em ordem crescente Para isso, escreva a query no arquivo desafio4.js

5 - Retorne o nome, as curtidas e vendidos dos lanches que tiveram quantidade de curtidas igual a 36 ou tenham a quantidade de vendas igual a 85 Para isso, escreva a query no arquivo desafio5.js

6 - Retorne o nome e as curtidas dos lanches que tiveram curtidas maiores que 10 e menores que 100 Para isso, escreva a query no arquivo desafio6.js

7 - Retorne o nome e vendidos dos lanches que tenham sido vendidos com uma quantidade diferente de 50 e em que o campo tags não exista Para isso, escreva a query no arquivo desafio7.js

8 - Delete os lanches com menos de 50 curtidas e retorne o nome dos lanches que restaram no banco Para isso, escreva a query no arquivo desafio8.js

9 - Retorne o nome de todos os lanches que possuam calorias abaixo de 500 Para isso, escreva a query no arquivo desafio9.js.

10 - Retorne o nome de todos os lanches que tenham o percentual de proteínas maior ou igual a 30 e menor ou igual a 40 Para isso, escreva a query no arquivo desafio10.js

11 - Retorne o nome do produto, a quantidade de curtidas e quantos itens foram vendidos dos produtos que não sejam iguais a Big Mac e McChicken Para isso, escreva a query no arquivo desafio11.js

12 - Adicione ketchup aos ingredientes para todos os sanduíches menos o McChicken, garantindo que não haja duplicidade nos ingredientes Para isso, escreva no arquivo desafio12.js duas queries, nesta ordem:

Crie uma query que adicione ketchup aos ingredientes para todos os sanduíches menos o McChicken, garantindo que não haja duplicidade nos ingredientes.

Crie uma query que retorne o nome e ingredientes de todos os documentos.

13 - Inclua o campo criadoPor em todos os documentos, colocando Ronald McDonald no valor desse campo Para isso, escreva no arquivo desafio13.js duas queries, nesta ordem:

Crie uma query que adicione o campo criadoPor em todos os documentos, colocando "Ronald McDonald" no valor desse campo.

Crie uma query que retorne o nome e criadoPor de todos os produtos.

14 - Crie uma query que retorne todos os lanches que possuem picles em seus ingredientes e mostre apenas os 3 primeiros itens contidos no array valoresNutricionais Para isso, escreva a query no arquivo desafio14.js Sua query deve retornar apenas os campos nome, ingredientes e valoresNutricionais.

15 - Adicione o campo avaliacao em todos os documentos da coleção e efetue alterações nesse campo Para isso, escreva no arquivo desafio15.js quatro queries, nesta ordem:

Crie uma query que inclua o campo avaliacao do tipo NumberInt, com o valor 0 em todos os documentos da coleção.

Crie uma query que incremente o valor do campo avaliacao em 5 em todos os sanduíches de carne do tipo bovino.

Crie uma query que incremente o valor do campo avaliacao em 3 em todos os sanduíches de ave.

Crie uma query que retorne o nome e avaliacao de todos os sanduíches.

16 - Adicione o campo ultimaModificacao com a data corrente somente no sanduíche Big Mac Para isso, escreva no arquivo desafio16.js duas queries, nesta ordem:

Crie uma query que inclua somente ao sanduíche Big Mac o campo ultimaModificacao com a data corrente. Para a data corrente faça uso do tipo date ou timestamp.

Crie uma query que retorne o nome de todos os documentos em que o campo ultimaModificacao existe.

17 - Retorne a quantidade total de produtos em uma nova coleção chamada resumoProdutos Para isso, escreva no arquivo desafio17.js duas queries, nesta ordem:

Crie uma query que insira na coleção resumoProdutos um documento com os campos: franquia com o valor McDonalds e totalProdutos com o valor sendo a quantidade total de produtos registrados na coleção produtos.

Crie uma query que retorne os campos franquia e o totalProdutos da coleção resumoProdutos, resultantes da primeira query.

18 - Inclua bacon no final da lista de ingredientes dos sanduíches Big Mac e Quarteirão com Queijo Para isso, escreva no arquivo desafio18.js duas queries, nesta ordem:

Crie uma query que faça a inclusão de bacon no final da lista de ingredientes dos sanduíches Big Mac e Quarteirão com Queijo.

Crie uma query que retorne o nome e ingredientes de todos os documentos.

19 - Remova o item cebola de todos os sanduíches Para isso, escreva no arquivo desafio19.js duas queries, nesta ordem:

Crie uma query que faça a remoção do item cebola em todos os sanduíches.

Crie uma query que retorne o nome e ingredientes de todos os documentos.

20 - Remova o primeiro ingrediente do sanduíche Quarteirão com Queijo Para isso, escreva no arquivo desafio20.js duas queries, nesta ordem:

Crie uma query que faça a remoção do primeiro ingrediente no sanduíche Quarteirão com Queijo.

Crie uma query que retorne o nome e ingredientes de todos os documentos.

21 - Remova o último ingrediente do sanduíche Cheddar McMelt Para isso, escreva no arquivo desafio21.js duas queries, nesta ordem:

Crie uma query que faça a remoção do último ingrediente no sanduíche Cheddar McMelt.

Crie uma query que retorne o nome e ingredientes de todos os documentos.

22 - Adicione a quantidade de vendas dos sanduíches por dia da semana Para isso, escreva no arquivo desafio22.js quatro queries, nesta ordem:

Crie uma query que inclua um campo vendasPorDia em todos os sanduíches. O valor deste campo deverá ser um array com sete posições. Cada uma delas representará um dia da semana, e cada posição iniciará em 0. O array deve seguir a estrutura do exemplo abaixo: "vendasPorDia": [0, 0, 0, 0, 0, 0, 0] O primeiro item desse array representa as vendas no domingo, o segundo item representa as vendas na segunda-feira, e assim sucessivamente até chegar ao último item, que representa as vendas no sábado.

Crie uma query que incremente as vendas de Big Mac às quartas-feiras em 60.

Crie uma query que incremente as vendas de todos os sanduíches de carne do tipo bovino aos sábados em 120.

Crie uma query que retorne o nome e vendasPorDia de todos os documentos.

23 - Insira os valores combo e tasty no array tags de todos os sanduíches e aproveite para deixar os valores em ordem alfabética ascendente (A a Z) Para isso, escreva no arquivo desafio23.js duas queries, nesta ordem:

Crie uma query que faça tanto a inserção dos valores combo e tasty no array tags de todos os sanduíches. Ordene os valores de tags em ordem alfabética ascendente.

Crie uma query que retorne o nome e tags de todos os documentos.

24 - Ordene em todos os documentos os valores do array valoresNutricionais pelo campo percentual de forma decrescente Para isso, escreva no arquivo desafio24.js duas queries, nesta ordem:

Crie uma query que faça em todos os documentos a ordenação dos valores do array valoresNutricionais pelo campo percentual de forma decrescente. 👀De olho na dica: mesmo sem adicionar nenhum novo valor, para essa operação é necessário utilizar também o modificador $each.

Crie uma query que retorne o nome e valoresNutricionais de todos os documentos.

25 - Adicione o valor muito sódio ao final do array tags nos produtos em que o percentual de sódio seja maior ou igual a 40 Para isso, escreva no arquivo desafio25.js duas queries, nesta ordem:

Crie uma query que faça a adição do valor muito sódio ao final do array tags nos produtos em que o percentual de sódio seja maior ou igual a 40.

Crie uma query que retorne o nome e tags de todos os documentos.

26 - Adicione o valor contém sódio ao final do array tags nos produtos em que o percentual de sódio seja maior do que 20 e menor do que 40 Para isso, escreva no arquivo desafio26.js duas queries, nesta ordem:

Crie uma query que faça a adição do valor contém sódio ao final do array tags nos produtos em que o percentual de sódio seja maior do que 20 e menor do que 40.

Crie uma query que retorne o nome e tags de todos os documentos.

27 - Conte quantos produtos contém Mc no nome, sem considerar letras maiúsculas ou minúsculas Para isso, escreva a query no arquivo desafio27.js

28 - Conte quantos produtos têm 4 ingredientes Para isso, escreva a query no arquivo desafio28.js

29 - Renomeie o campo descricao para descricaoSite em todos os documentos Para isso, escreva no arquivo desafio29.js duas queries, nesta ordem:

Crie uma query que faça a renomeação do campo descricao para descricaoSite em todos os documentos.

Crie uma query que retorne o nome e descricaoSite de todos os documentos.

30 - Remova o campo curtidas do item Big Mac Para isso, escreva no arquivo desafio30.js duas queries, nesta ordem:

Crie uma query que faça a remoção do campo curtidas do item Big Mac.

Crie uma query que retorne o nome para todos os documentos e curtidas (exceto para Big Mac).

31 - Retorne o nome dos sanduíches em que o número de curtidas é maior que o número de sanduíches vendidos

Para isso, escreva a query no arquivo desafio31.js

Instalação

  1. Clone o repositório;
git clone git@github.com:Thromoto/commerce-mongodb.git
  1. Entre na pasta do repositório que você acabou de clonar;

Stack utilizada

MongoDB